Boost的自动链接功能

December 09, 2023
测试
测试
测试
测试
1 分钟阅读

Boost是一个强大的C++第三方库,但是Boost的各种问题实在是很让人蛋疼。我搜到过一篇文章关于LuaBind使用Boost Build管理工具来管理源代码以及编译的博文,其第一句话就是Fuck The Boost!it is the pain of ass!

那个采用Boost Build来编译LuaBind我最后完成了,但是很是蛋疼。

现在又出现了Boost链接的问题,经过多方搜索,以及尝试。个人对Boost 的自动链接机制如下:

Boost默认启用自动链接功能,而且是静态链接。它会根据当前的编译器预定义宏判断是否是DEBUG,什么版本的编译器,然后自动链接libXXX-vc100-mt-gd-1_52.lib这样的文件。其中lib的代表着是静态LIB库文件,vc100指编译器版本(在VS2008中它会自动链接vc90这样的文件),gd代表debug,release,没有gd选项。这样的自动链接功能非常烦恼,当升级了VS时,要重新用新编译器编译Boost库。 如果要开启自动链接功能,而且是动态链接的话,定义 BOOST_ALL_DYN_LINK。这样它就自动链接 XXX-vc100-mt-gd-1_52.lib. 建议采用关闭自动链接功能。 在附加预定义宏 加 BOOST_ALL_NO_LIB ,这样就关闭了BOOST的自动链接LIB的功能。然后把需要的lib库在附加库里手动加入。

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多