33

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

(我尝试使用 #include "libstatic.a" 但我的项目无法编译)

4

5 回答 5

50
cc -o yourprog yourprog.c -lstatic

或者

cc -o yourprog yourprog.c libstatic.a
于 2009-11-10T06:20:30.620 回答
9

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

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

gcc -I. -o jvct jvct.c libjvc.a
于 2009-11-10T06:20:14.257 回答
5

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

gcc -o myapp main.c -L. -lstatic
于 2013-05-03T20:17:34.923 回答
2
gcc -I. -o jvct jvct.c libjvc.a
于 2014-02-20T09:53:00.490 回答
2

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

cc -static yourprogram.c libstatic.a
于 2017-02-10T16:23:08.690 回答