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

  • 相关阅读:
    Leetcode 70 Climbing Stairs 递推
    Leetcode 83 Remove Duplicates from Sorted List 链表
    Leetcode 328 Odd Even Linked List 链表
    Leetcode 206 Reverse Linked List 链表
    Spring中注解
    SpringMVC配置文件
    java设计模式----单例模式
    java设计模式----工厂方法模式
    java设计模式----装饰者模式
    java设计模式----观察者模式
  • 原文地址:https://www.cnblogs.com/dilex/p/10678747.html
Copyright © 2011-2022 走看看