2009-12-09 52 views
1

在Microsoft Visual C++编译器,你可以使用帮助在GCC联

#pragma comment(lib, "MSVCRT") //links with the MVCRT library 

see this page

我觉得这个功能非常有用,因为链接错误是常见的,我只想把指定链接选项我的源代码中的所有链接器选项,而不是将它们指定给编译器。

问题:有没有办法在GCC(或DEV-CPP代码块 IDE)这样做呢?

在此先感谢。

+0

他们可以在你的源代码中,它只需要一个名为'Makefile'的文件;) – caf 2009-12-09 20:57:09

+0

抱歉,我发布这个问题的时候有点分心。我的appologies – 2010-01-29 21:02:43

回答

3
+2

您链接到的链接订单文章说,链接顺序很重要,基本上,只适用于较旧的链接器,因为大多数现代链接器无论如何搜索所有链接库,而与订单无关。所以这是国际海事组织一个相当可疑的理由,不支持这一点。至少Boost的人使用它,而且它们通常不会与不好的C++编程关联起来。) – OregonGhost 2009-12-09 17:39:31

1

简而言之,GCC不支持指定库链接源代码。

如果您的IDE处理编译和链接过程,您可能可能会在您的IDE中添加引用,并担心将正确的选项传递给每个单元的gcc。

1

鉴于链接选项和库的名称变化很大,从系统到系统的,我很高兴有他们从我的源代码文件分离,从而可以保持源代码系统无关。

然后构建系统可以决定如何建立在什么系统上。我会说,总体上更清洁的方法。

+0

什么是干净的必须包含两次库(包括文件和库)?我喜欢Boost方法。只需包含要使用的库的包含文件即可。 – OregonGhost 2009-12-10 09:56:37

+1

在某些系统上,您需要在链接时明确指定'-lm'来获取数学函数,而在某些您不需要的系统上(甚至不能)。这并不干净,但真实。处理这种愚蠢的东西最清洁的方式?当然,在我的源代码文件之外。 – ndim 2009-12-12 03:08:21

+0

现实不一定是干净的,这是真的。然而,在我看来,仍然是最简单的方式,因为你基本上不会犯太多错误。这是好事。 – OregonGhost 2009-12-14 09:35:04