【发布时间】:2010-12-14 22:13:29
【问题描述】:
我使用 code::blocks 来编译我的静态库。输出结果是一个 libstatic.a 文件。 现在,如何链接到我的库以使用已编译的函数?
(我尝试使用#include "libstatic.a" 但我的项目没有编译)
【问题讨论】:
标签: c build compilation static-libraries
我使用 code::blocks 来编译我的静态库。输出结果是一个 libstatic.a 文件。 现在,如何链接到我的库以使用已编译的函数?
(我尝试使用#include "libstatic.a" 但我的项目没有编译)
【问题讨论】:
标签: c build compilation static-libraries
cc -o yourprog yourprog.c -lstatic
或
cc -o yourprog yourprog.c libstatic.a
【讨论】:
您应该#include "libstatic.h",即在您的代码中使用适当的头文件(这就是您的代码无法编译的原因)并在链接器选项中包含您的libstatic.a 的路径作为一个您的输入库。
这个webpage 有一些关于链接到静态库的示例,例如
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
【讨论】: