0

可能重复:
如何在 linux 中编译静态库

我正在尝试编译一个将被进一步使用的库。

对于这个库的每个 cpp 文件,都生成一个 .o 文件。如何仅使用一个 .o 文件进行相同的编译?

4

1 回答 1

2

您不能从多个 C++ 源文件构建单个 .o 文件。编译器无法处理。

如果库带有适当的构建基础设施(如 Makefiles),则应该创建一个libXXX.alibXXX.so文件,您可以从自己的项目中引用该文件。

如果库本身没有创建 lib 文件,您可以使用

ar -r libXXX.a <list of .o files>
于 2013-01-07T18:39:09.590 回答