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

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

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

cc -o yourprog yourprog.c -lstatic 

要么

 cc -o yourprog yourprog.c libstatic.a 

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

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

 gcc -I. -o jvct jvct.c libjvc.a 

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

 gcc -o myapp main.c -L. -lstatic 
 gcc -I. -o jvct jvct.c libjvc.a 

要纯粹静态链接,请使用-static

 cc -static yourprogram.c libstatic.a