• Boost的自动链接功能


    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库在附加库里手动加入。

  • 相关阅读:
    Web框架本质及浅谈HTTP协议
    mysql
    jQuery
    Css
    html
    socket编程
    面向对象and类
    模块
    装饰器
    cef network-settings
  • 原文地址:https://www.cnblogs.com/tlm1992/p/3388450.html
Copyright © 2020-2023  润新知