如何链接在GCC库文件,不以lib开始呢?(How do I link a library file

2019-06-23 19:14发布

当我在使用ld链接库如libm中,我需要删除的lib前缀。 如果该文件不遵循什么命名约定? 有没有一种方法比重命名文件挂靠其他?

Answer 1:

您可以链接反对任何库,如foo.a ,通过指定完整路径上的链接线:

gcc main.o /path/to/foo.a

你失去与非标准库的名称为寻找它的能力,为连接基,如这是不行的:

gcc main.o -L/path/to foo.a

当我在使用ld链接库等的libm

需要注意的是,一般你应该有任何联系ld 。 使用编译器驱动程序,而不是 - 它增加了对象和库所需要的正确结果的链接线。



Answer 2:

可以有一个不用的lib前缀命名的图书馆链接搜索:

gcc main.o -L/path/to/foo -l:foo.a

其中指定的库的列表,并-l标志稍后前置这是在环境中尤其有用(例如,一些生成文件或蚀CDT)



文章来源: How do I link a library file in GCC that does not start with lib?