【发布时间】:2011-08-23 08:06:20
【问题描述】:
我下载了这个:https://github.com/mongodb/mongo-c-driver
现在我正尝试在我的 C 程序中使用它,但我不知道如何处理生成的 .a 文件。这些是什么?我找不到任何信息,甚至在 GCC 手册中也找不到。
我是这样构建的:
scons --c99
另外,我可以在我的 C89 程序中使用 C99 库吗?
【问题讨论】:
标签: c gcc shared-libraries
我下载了这个:https://github.com/mongodb/mongo-c-driver
现在我正尝试在我的 C 程序中使用它,但我不知道如何处理生成的 .a 文件。这些是什么?我找不到任何信息,甚至在 GCC 手册中也找不到。
我是这样构建的:
scons --c99
另外,我可以在我的 C89 程序中使用 C99 库吗?
【问题讨论】:
标签: c gcc shared-libraries
.a 文件是使用ar 实用程序创建的,它们是库。要将其与gcc 一起使用,请将所有.a files 收集到lib/ 文件夹中,然后与-L lib/ 和-l<name of specific library> 链接。
将所有 .a 文件收集到 lib/ 是可选的。恕我直言,这样做可以使目录更好看,代码和库很好地分离。
【讨论】:
.a 文件是static 库,通常由archive tool 生成。您通常包含与该静态库关联的头文件,然后在编译时链接到该库。
【讨论】:
ar tv foo.a查看.a静态库的内容。它通常是.o 目标文件的集合。