使用Visual Studio 2012构建Boost 1.52库以定位Windows XP

时间:2012-12-14 03:11:12

标签: c++ visual-c++ boost visual-studio-2012

“Visual Studio 2012 Update 1”使用工具集“vc110_xp”启用了对Windows XP目标的支持。

如何使用vc110_xp工具集配置Boost 1.52来构建库?

2 个答案:

答案 0 :(得分:2)

我发现最简单的方法是编辑\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat添加行,以便在加载默认值后更改LIBINCLUDEPATHCL变量。 Boost.Build使用此批处理文件,因此您无需进行任何其他更改。

例如,这里是新的:x86部分

:x86
if not exist "%~dp0bin\vcvars32.bat" goto missing
call "%~dp0bin\vcvars32.bat"

set INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE%
set PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Bin;%PATH%
set LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Lib;%LIB%
set CL=/D_USING_V110_SDK71_;%CL%

goto :SetVisualStudioVersion

这四个set是添加的。类似的事情可以用于:amd64部分,虽然我对发布它犹豫不决,因为我自己只测试了XP 32bit,我很乐意将Vista +用于64位版本。

答案 1 :(得分:0)

更改boost文件夹中的以下文件的内容(已下载并解压缩)

文件夹:boost_1_54_0 \ tools \ build \ v2 \ tools

文件:

  1. msvc.jam
  2. 内容已更改:

    for 32 bit :
              toolset.flags msvc LINKFLAGS <user-interface>console : /subsystem:console,5.01 ;
    
    for 64 bit:
              toolset.flags msvc LINKFLAGS <user-interface>console : /subsystem:console,5.02 ;
    
    1. msvc.py
    2. 内容已更改:

      for 32 bit :
                toolset.flags('msvc', 'LINKFLAGS', ['<user-interface>console'], ['/subsystem:console,5.01'])
      
      for 64 bit:
                toolset.flags('msvc', 'LINKFLAGS', ['<user-interface>console'], ['/subsystem:console,5.02'])
      

      文件夹:boost_1_54_0 \ tools \ build \ v2 \ engine

      文件:

      1. 的build.bat
      2. 内容已更改:

            for 32 bit/ 64 bit :
               1.   fix the Visual Studio Path Exactly like instead of "%ProgramFiles%- change
                       to  %ProgramFiles(x86)%
        
               2.   Add " /D _USING_V110_SDK71_ " to BOOST_JAM_CC =cl command before Skip_VC11
        

        打开vs2012开发人员命令提示符并键入以下命令

        **根据您的安装更新7.1A SDK路径

        1. 调用“%ProgramFiles(x86)%\ Microsoft Visual Studio 11.0 \ VC \ bin \ vcvars32.bat”

        2. 设置INCLUDE =%ProgramFiles(x86)%\ Microsoft SDKs \ Windows \ 7.1A \ Include;%INCLUDE%

        3. 设置PATH =%ProgramFiles(x86)%\ Microsoft SDKs \ Windows \ 7.1A \ Bin;%PATH%

        4. 设置LIB =%ProgramFiles(x86)%\ Microsoft SDKs \ Windows \ 7.1A \ Lib;%LIB%

        5. 自举

        6. 根据操作系统类型(32/64位)

          选择命令

          代表32位:

          b2 toolset = msvc-11.0 variant = debug,release link = shared runtime-link = shared address-model = 32

          代表64位:

          b2 toolset = msvc-11.0 variant = debug,release link = shared runtime-link = shared address-model = 64

        7. 要为发布和调试版本编译任何样本,请遵循以下步骤:

          打开vs2012开发人员命令提示符并键入以下命令

          1. 调用“%ProgramFiles(x86)%\ Microsoft Visual Studio 11.0 \ VC \ bin \ vcvars32.bat”

          2. 设置INCLUDE =%ProgramFiles(x86)%\ Microsoft SDKs \ Windows \ 7.1A \ Include;%INCLUDE%

          3. 设置PATH =%ProgramFiles(x86)%\ Microsoft SDKs \ Windows \ 7.1A \ Bin;%PATH%

          4. 设置LIB =%ProgramFiles(x86)%\ Microsoft SDKs \ Windows \ 7.1A \ Lib;%LIB%

          5. 转到示例目录:ex:boost_1_54_0 \ libs \ test \ tools \ console_test_runner

          6. 输入以下命令

            <path>\boost_1_54_0\bjam.exe --v2 toolset=msvc-11.0 variant=debug,release link=shared threading=multi runtime-link=shared