gcc # pragma comment(lib,“xxx.lib”)在Linux下是否等价?

k97glaaz  于 8个月前  发布在  Linux
关注(0)|答案(3)|浏览(91)

我有一个名为libunp.a的静态库文件,我知道我可以使用gcc -lunp xx链接到库。
我可以使用#pragma comment(lib,"xxx.lib")来告诉Microsoft C/C++编译器包含该库;在Linux/GCC下如何做到这一点呢?

5rgfhyps

5rgfhyps1#

GCC manual's page on pragmas中似乎没有提到任何等效的杂注。
我看到GCC不支持源代码中的链接的一个原因是,有时,correct linking depends on link order;这需要你确保链接顺序正确,无论编译顺序如何。如果你要做那么多工作,你还不如在命令行上传递链接器参数(或其他方式),我想。

2j4z5cfb

2j4z5cfb2#

库应该在链接步骤中指定。这些信息根本不属于翻译单元。即使没有链接阶段,翻译单元也可以进行预处理,编译和组装。
仅仅因为#pragma comment(lib,"xxx.lib")在源文件中并不意味着编译器会使用它。事实上,它作为注解进入,随后被链接器使用。与 *nix没有太大区别。

mzaanser

mzaanser3#

使用这个GCC标志为未知的杂注生成一个错误。它会很快告诉你编译器是否理解它。
第一个月

相关问题