zoukankan      html  css  js  c++  java
  • boost库生成文件命名和编译

    自己使用的命令

    bjam stage --stagedir="C:Program Files (x86)Microsoft Visual Studio 14.0VC" debug release link=static threading=multi runtime-link=static address-model=32 toolset=msvc-14.0 --with-program_options

    原理

    生成文件命名规则:boost中有许多库,有的库需要编译、而有的库不需要编译,只需包含头文件就可以使用。编译生成的文件名字普遍较长,同一个库根据编译链接选项不同,又可以生成多个不同名字的文件。生成的文件名字是很长,可是这样带的信息才多,也就容易识别出用途。其实生成文件的名字遵循一定的规则,有着固定的格式。识别这种格式,能帮助我们更高效地使用boost库。生成文件名字格式如: 

       BOOST_LIB_PREFIX + BOOST_LIB_NAME + "-" + BOOST_LIB_TOOLSET + "-" + BOOST_LIB_THREAD_OPT + "-" + BOOST_LIB_RT_OPT + "-" + BOOST_LIB_VERSION  

       这些定义为:

      BOOST_LIB_PREFIX: 静态库为 "lib" (否则无,是用动态链接库)

      BOOST_LIB_NAME: 库的基本名称 ( 比方说 boost_regex).

      BOOST_LIB_TOOLSET: 编译工具集名称 ( 比如:vc6, vc7, bcb5 )

      BOOST_LIB_THREAD_OPT: 多线程为 "-mt" ,否则为空

      BOOST_LIB_RT_OPT: 指示使用的运行库的后缀, 

       组合下面的一个或者更多字符:

       s 静态运行库,指的是静态链接到运行时库(不出现表示动态).

       g 调试/诊断 runtime (release if not present).

       d 调试版本 (不出现表示 release 版 ).

       p STLPort 版本.

       注:对 vc 来说,gd 总是一起出现

      BOOST_LIB_VERSION: Boost 版本, Boost 版本 x.y 表示为 x_y形式.

     http://www.cppblog.com/Robertxiao/archive/2013/01/06/197022.html

  • 相关阅读:
    Block编程
    自己写Web服务器(续)
    C# 2.0对现有语法的改进
    使用CDN
    优化网站设计(一):减少请求数
    MongoDB Shell的使用
    memcache 和appfabric
    go语言中几个有趣的特性以及对go的看法
    bpm流程平台
    Socket编程 (异步通讯) (Tcp,Udp)Part2
  • 原文地址:https://www.cnblogs.com/dilex/p/10678747.html
Copyright © 2011-2022 走看看