编译链接到Boost及Boost库命名规则
2008-07-18 09:17
351 查看
前段时间用需要单独编译一些Boost库,本能的先搜了下,发现介绍的太少。也没点到我想要的重点,无奈看文档吧!写下在VC7下使用总结:如有错误,欢迎指正!:-)
Boost库的编译采用Boost_Build, 一个类似于CMake的跨平台编译Make自动生成工具(Bjam)。
1、首先配置Bjam(见Boost_Build文档);
2、全编译:切换到boost根目录,运行bjam;
部分编译:切换到待编译库的目录下,运行bjam --toolset=msvc;(参数有很多,具体使用时见文档即可)
注意:一般boost预先编译的库有MD版和MDd版。库名称为mt,mt_gd,具体如下:
当你的应用要链接到Boost库时,需要看boost库lib下提供哪种编译模式下的库,来决定cl的编译参数;
下面简单介绍下Boost库命名规则:
mt:多线程运行库DLL版
g:调试版
d:指定待编译工程的目标版本为Debug
例子如下:
// 此库是链接到vc runtime 多线程动态库
libboost_signals-vc71-mt-1_35.lib
// 此库是链接到vc runtime 多线程动态调试库,且待编译的工程为debug
libboost_signals-vc71-mt-gd-1_35.lib
// 此库是链接到vc runtime 多线程动态调试库,且待编译的工程为release
libboost_signals-vc71-mt-g-1_35.lib
// 此库是链接到vc runtime 多线程静态调试库,且待编译的工程为debug
libboost_signals-vc71-mt-sgd-1_35.lib
// 此库是链接到vc runtime 多线程静态调试库,且待编译的工程为release
libboost_signals-vc71-mt-sg-1_35.lib
一般boost的预编译库包含下面两个版本
libboost_signals-vc71-mt-1_35.lib
libboost_signals-vc71-mt-gd-1_35.lib
对应分别的cl编译参数为:
cl ***.cpp -EHsc -MD
cl ***.cpp -EHsc -MDd -D"_DEBUG"
Boost库的编译采用Boost_Build, 一个类似于CMake的跨平台编译Make自动生成工具(Bjam)。
1、首先配置Bjam(见Boost_Build文档);
2、全编译:切换到boost根目录,运行bjam;
部分编译:切换到待编译库的目录下,运行bjam --toolset=msvc;(参数有很多,具体使用时见文档即可)
注意:一般boost预先编译的库有MD版和MDd版。库名称为mt,mt_gd,具体如下:
当你的应用要链接到Boost库时,需要看boost库lib下提供哪种编译模式下的库,来决定cl的编译参数;
下面简单介绍下Boost库命名规则:
mt:多线程运行库DLL版
g:调试版
d:指定待编译工程的目标版本为Debug
例子如下:
// 此库是链接到vc runtime 多线程动态库
libboost_signals-vc71-mt-1_35.lib
// 此库是链接到vc runtime 多线程动态调试库,且待编译的工程为debug
libboost_signals-vc71-mt-gd-1_35.lib
// 此库是链接到vc runtime 多线程动态调试库,且待编译的工程为release
libboost_signals-vc71-mt-g-1_35.lib
// 此库是链接到vc runtime 多线程静态调试库,且待编译的工程为debug
libboost_signals-vc71-mt-sgd-1_35.lib
// 此库是链接到vc runtime 多线程静态调试库,且待编译的工程为release
libboost_signals-vc71-mt-sg-1_35.lib
一般boost的预编译库包含下面两个版本
libboost_signals-vc71-mt-1_35.lib
libboost_signals-vc71-mt-gd-1_35.lib
对应分别的cl编译参数为:
cl ***.cpp -EHsc -MD
cl ***.cpp -EHsc -MDd -D"_DEBUG"
相关文章推荐
- Boost库的命名规则及静态编译命令。
- Boost库的命名规则及静态编译命令。
- boost生成库的命名规则
- Java编译后产生class文件的命名规则
- boost 库的编译与链接
- [转]Boost库编译后命名方式
- Linux下编译boost动态链接库和静态链接库
- Boost-Boost库的编译
- [转]Boost库编译后命名方式
- 使用muduo编译链接错误 undefined reference to `muduo::ThreadPool::run(boost::function<void ()()>&&)'
- 使用MinGW编译Boost,MSVC编译Boost的几种链接方式 good
- Boost库命名规则
- Java编译后产生class文件的命名规则
- Boost库的命名规则
- 编译boost库-用vc2005编译boost1.34.1
- Java编译后产生class文件的命名规则
- Android Native中Android.mk编译链接时命名冲突的问题
- Java编译后产生class文件的命名规则
- 【Boost】MSVC编译Boost的几种链接方式
- Boost库命名规则