Visual C ++ 9.0(2008)Static Lib + Boost Library = Large .lib文件

时间:2010-03-18 18:56:45

标签: c++ visual-c++ boost linker static-libraries

我有一个Visual Studio 2008 C ++项目,它输出一个静态库并使用Boost Library的一些功能。当我在Debug配置中构建项目时,.lib文件是7.84 MB。在Release配置中构建项目时,.lib文件为23.5 MB。 !!!!

我包含的唯一Boost标头是:

  • boost/function.hpp
  • boost/exception/all.hpp

由于这是一个静态库,我没有指定要包含的任何Boost库文件,但不知何故,它是一个巨大的输出。当我在测试可执行文件中使用该静态库时,生成的.exe文件在调试中只有746 KB,在Release中只有231 KB。

问题是我必须创建库的“发布”以检查其他项目使用的其他存储库。而且我不希望每次更新时都要添加30 MB的文件。如果没有别的,那么为什么Release版本的大小是Debug的3倍真的让我感到困惑。

任何人都有关于我做错的建议吗?

谢谢, 马特

1 个答案:

答案 0 :(得分:3)

项目+属性,C / C ++,优化,整个程序优化=否。至少应该保持您的发布版本不会爆炸。我无法重新调试调试库大小,只是标题给了我一个111KB .lib。