如何链接到C中的静态库?

29 c compilation build static-libraries

我使用code :: blocks来编译我的静态库.输出结果是libstatic.a文件.现在,如何链接到我的库以使用已编译的函数?

(我试图使用#include"libstatic.a",但我的项目没有编译)

daj*_*obe 46

cc -o yourprog yourprog.c -lstatic
Run Code Online (Sandbox Code Playgroud)

要么

cc -o yourprog yourprog.c libstatic.a
Run Code Online (Sandbox Code Playgroud)


小智 9

我必须在我的 makefile 中设置库路径。对于这种情况,您可以使用:

gcc -o myapp main.c -L. -lstatic
Run Code Online (Sandbox Code Playgroud)


Jac*_*cob 8

您应该#include "libstatic.h",即在代码中使用适当的头文件(就是您的代码无法编译原因),并libstatic.a在链接器选项中包含您作为输入库之一的路径.

网页有一些关于链接到静态库的例子,例如

gcc -I. -o jvct jvct.c libjvc.a
Run Code Online (Sandbox Code Playgroud)