#pragma comment(lib, "xxx.lib") 在 Linux 下等效吗?

问题描述 投票:0回答:3

我有一个名为

libunp.a
的静态库文件,我知道我可以使用
gcc -lunp xx
链接到该库。

我可以使用

#pragma comment(lib,"xxx.lib")
告诉 Microsoft C/C++ 编译器包含该库;我怎样才能在Linux/GCC下做到这一点?

gcc static-linking
3个回答
31
投票

GCC 手册的 pragmas 页面中似乎没有提及任何等效的 pragmas。 我看到 GCC 不支持源代码中的链接的一个原因是,有时,

正确的链接

取决于链接顺序;这需要您确保无论编译顺序如何,链接顺序都会正确发生。如果您要做那么多工作,我想您也可以在命令行(或其他方式)上传递链接器参数。


21
投票
应在链接步骤中指定库。这样的信息简直 不属于翻译单元。翻译单元可以被预处理, 即使没有链接阶段也可以编译和组装。

仅仅因为
#pragma comment(lib,"xxx.lib")

位于源文件中并不意味着编译器会使用它。事实上,它作为注释进入,随后由链接器使用。与 *nix 没有太大不同。

    


0
投票

-Werror=unknown-pragmas

    

© www.soinside.com 2019 - 2024. All rights reserved.