How to link to dynamic boost libs?

后端 未结 3 1197
陌清茗
陌清茗 2020-11-28 06:46

I compiled boost lib and got these.

//Shared/dynamic link libraries

24/03/2010  11:25 PM            53,248 boost_thread-vc80-mt-1_42.dll
24/03/2010  11:25          


        
相关标签:
3条回答
  • 2020-11-28 07:04

    To configure boost use the user config header

    <boost/config/user.hpp>
    

    Then just look for the dynamic link lines and change to your desired configuration

    // BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, 
    // to be linked as DLL's rather than static libraries on Microsoft Windows 
    // (this macro is used to turn on __declspec(dllimport) modifiers, so that 
    // the compiler knows which symbols to look for in a DLL rather than in a 
    // static library).  Note that there may be some libraries that can only 
    // be statically linked (Boost.Test for example) and others which may only 
    // be dynamically linked (Boost.Threads for example), in these cases this 
    // macro has no effect.
    // #define BOOST_ALL_DYN_LINK
    
    0 讨论(0)
  • 2020-11-28 07:10

    You can force Boost to use the DLLs by defining BOOST_ALL_DYN_LINK - either in your C++ preprocessor settings or by a #define in your stdafx.h pre-compiled header, e.g.:

    #define BOOST_ALL_DYN_LINK

    0 讨论(0)
  • 2020-11-28 07:20
    1. The .lib files are linked statically, while .dll files are linked dynamically. I believe it's a VC project setting.

    The "lib" prefix is for static libraries. Use link=static 
    The 's' letter is to static linking to runtime. Use runtime-link=static 
    The 'd' is debug, use variant=debug 
    The 'g' is using debug runtime, I think it's included in 'debug' variant 
    already. If not runtime-debugging=on will help. 
    

    Source: http://old.nabble.com/Build-statically-linked-boost-libs-*-vc90-mt-sgd.lib-td16301103.html

    0 讨论(0)
提交回复
热议问题