我使用Code::Blocks编译我的静态库,输出结果是一个libstatic.a文件。现在,我该如何链接到我的库以使用已编译的函数呢?
(我尝试使用#include "libstatic.a",但我的项目无法编译)
我使用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