将自定义库添加到c程序

时间:2015-11-24 10:56:20

标签: c linux ubuntu-14.04

我正在使用Ubuntu Linux 我已经创建了一个自定义静态库Mylib.a,我只能将它包含在那些与静态库位于同一目录中的c文件中。

我想把它变成一个通用库,这样我就可以将库文件包含到我想要的任何c文件中而不管它的位置

3 个答案:

答案 0 :(得分:2)

您可以将.a个文件(或更好的.so文件)复制到标准位置,例如/usr/lib

如果从命令行进行编译,则还需要指定库名称(即使它已在/usr/lib中),与指定-lpthread等标准库时的方式相同。

您还可以在makefile

中指定库路径和库名称

答案 1 :(得分:2)

要使用静态库,您必须在使用该库的.c文件中包含标题,然后链接该库。如果库的名称是libstatic.a,那么:

gcc -o yourprog yourprog.c -lstatic

如果库不在同一目录中,请使用-L选项指定路径:

gcc -o yourprog yourprog.c -L/path-to-lib -lstatic

(另见这篇文章:How to link to a static library in C?

答案 2 :(得分:0)

正如Adriano所写,即使它与c文件不在同一目录中,也可以包含库。但是,您必须指定在哪里查找您使用的库。

见这里:https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html

希望我帮忙,