我有一个小项目,其中我只需要boost库的一部分,特别是boost::regex。这就是我到目前为止所做的:
/include
/boost
/regex
/math
.. 189 dirs, files, etc.
/lib
/boost-regex
c_regex_traits.cpp
cpp_regex_traits.cpp
.. ~20 .cpp files
myprog.cpp在我的Makefile中,我逐个编译所有boost-regex .cpp文件,生成.obj文件。接下来,我将通过编译myprog.cpp和来自/lib/boost/regex的所有.obj文件来构建我的项目。
问题是我是否做了每件事都正确?我的输出文件相当大(~3.5Mb),而我的代码却非常小(10行)。
ps。我的编译器:
$ c++ —version
i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5659)发布于 2010-05-26 19:38:40
为什么不将regex库构建为静态库,并通过编写#include <boost/regex.hpp>在代码中使用它的特性
这应该不会影响应用程序的最终大小,因为编译器将只接受应用程序中实际使用的那些函数。
此外,不同平台的预编译boost库可以在互联网上找到,如果你不想自己构建它们。在这种情况下,您所要做的就是获取适当的库并包含适当的头文件。
https://stackoverflow.com/questions/2912481
复制相似问题