从多个源编译库

时间:2011-02-27 18:46:53

标签: c++ c makefile

我想从多个源文件构建一个库,比如a1.cpp a2.cpp。我使用了以下命令'g ++ -o libcode -c a1.cpp a2.cpp'。但是,弹出错误“无法指定-o with -c或-S with multiple files”。

一般来说,我应该如何从多个来源构建这样的lib?感谢...

1 个答案:

答案 0 :(得分:6)

首先将源文件编译为对象文件(*.o),然后调用 ar 命令来构建库。在您的示例中:

   g++ -c a1.cpp a2.cpp
   ar rcs libcode.a a1.o a2.o

这将构建一个静态库,您也可以创建一个动态库。

http://www.network-theory.co.uk/docs/gccintro/gccintro_79.html

http://tldp.org/HOWTO/Program-Library-HOWTO/static-libraries.html