1

我一直在 Linux 上构建一个静态库。到目前为止,它完全是自包含的,里面的所有代码都没有使用标准库以外的任何东西。我最近进行了更改,现在一些编译单元正在使用 boost 代码。我一直在使用以下方法构建库:

g++ -c -Wall -pedantic  *.cpp
ar -cvq libbfclass.a *.o

我的问题是:我是否有必要调整这种方法来处理新库的使用,或者在构建使用我自己的库的可执行文件时我是否只需要提供链接库?据我了解,静态库基本上只是目标文件的存档,但我想知道是否需要修改构建脚本以使一切正常工作,还是仅在构建可执行文件时才需要?

4

1 回答 1

5

你是对的 - 静态库只是目标文件的存档。编译最终可执行文件时会解析符号,因此您需要提供对其他库的引用。

于 2012-07-10T20:13:13.860 回答