Boost编译链接-创新互联
头文件就是库
成都创新互联公司是专业的馆陶网站建设公司,馆陶接单;提供网站设计制作、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行馆陶网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!使用者最常问的问题就是“我该怎么安装Boost”,这个也是我一开始最关心的问题,Boost这点做的很好,将大部分实现都封装在头文件里,所以对于一些基本的Boost库,其实是不需要安装的,只需要将头文件include到自己的程序里,当然前提是你把Boost的所有用到的头文件都拷贝了一份。
Boost是如何做到这点的?
这是因为Boost的头文件(*.hpp)包含了模板和内联函数,这点随便找一个hpp文件来看你就明白了,所以不需要去静态链接或者动态链接二进制lib库了。
不过Boost的某些库还是需要生成二进制的库的,如果你要使用他们,必须编译安装哦,他们是:
Boost.Filesystem
Boost.IOStreams
Boost.ProgramOptions
Boost.Python
Boost.Regex
Boost.Serialization
Boost.Signals
Boost.Thread
Boost.Wave
技巧1
可以通过在VS预处理器中添加BOOST_LIB_DIAGNOSTIC,在编译的output窗口中输出程序具体链接了哪些boost库以及链接顺序
技巧2
可以通过修改源码boost/config/user.hpp中,取消// #define BOOST_ALL_NO_LIB的注释,重新编译Boost源码,关闭Boost自动链接
在如下一种情况下需要关闭自动连接功能:因为asio自动连接了system,data_time和regex库,其实平常只用到了system库,而data_time和regex,如果不使用deadline_timer和asyn_read_until之类的东西的话,是不用连接的.
命名规则
libboost_filesystem-vc80-mt-sgdp-1_42.lib
前缀:统一为lib,但在Windows下只有静态库有lib前缀;
库名称:以"boost一”开头的库名称,在这里是boost_filesystem;
编译器标识:编译该库文件的编译器名称和版本,在这里是-vc80;
多线程标识:支持多线程使用-mt,没有表示不支持多线程;
ABI标识:这个标识比较复杂,标识了Boost库的几个编译链接选项;
s: 静态库标识;
gd:debug版标识;
p: 使用STlport而不是编译器自带STL实现;
版本号:Boost库的版本号,小数点用下画线代替,在这里是1_42;
扩展名:在Windows上是lib,在Linux等类Unix操作系统上是a或者.so。
boost 链接出错无法打开libboost_thread-vc140-mt-sgd
第一个链接说明,当选择什么样子的运行时库,程序在编译的时候,就会去调用相应编译时期指定的版本,比如s代表的是运行时静态库,gd代表的是调试模式,当出现无法打开上面的情况下,说明放在指定目录下的boost编译库可能是动态库,跟目标的不一致,因此需要调整匹配上
“多线程(/MT)”: release版本多线程静态库
需要使用 libboost_regex-vc90-mt-s-1_44.lib
“多线程调试(/MTd)”:debug版本多线程静态程库
需要使用 libboost_regex-vc90-mt-sgd-1_44.lib
“多线程 DLL(/MD)”: release版本多线程动态库
需要使用
静态boost 库连接
libboost_regex-vc90-mt -1_44.lib
动态boost 库连接, 需要在引入库前加上“lib”,
运行需要带上对应的dll
boost_regex-vc90-mt-1_44.lib à在引入库前加上“lib”
boost_regex-vc90-mt-1_44.dll
“多线程调试 DLL(/MDd)”: debug版本多线程动态库
需要使用
静态boost 库连接
libboost_regex-vc90-mt-gd-1_44.lib
动态boost 库连接, 需要在引入库前加上“lib”,
运行需要带上对应的dll
boost_regex-vc90-mt-gd-1_44.lib à在引入库前加上“lib”
boost_regex-vc90-mt-gd-1_44.dll
http://www.cnblogs.com/bluedoctor/p/6236905.html
http://blog.csdn.net/xucuiping_/article/details/5979532
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页名称:Boost编译链接-创新互联
转载来源:http://scyanting.com/article/ccoiig.html