如何构建升压1.55与Visual Studio 2013 CTP 2013年11月 [英] How do I build Boost 1.55 with Visual Studio 2013 CTP November 2013

查看:176
本文介绍了如何构建升压1.55与Visual Studio 2013 CTP 2013年11月的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道,新的工具不被支持的提振,但是我想尝试用反正它构建加速。我已经使用Boost构建系统和选项工具= MSVC-12.0-CTP 天真的尝试,但它不工作。我相信这是可能的,因为升压1.55正式支持的Visual Studio 2013(MSVC-12.0)和目前仅有的两个版本之间的一些重大更改。

I'm aware that the new toolset is not supported by boost yet but I'd like to try to build Boost with it anyways. I've naively tried using the Boost build system and the option toolset=msvc-12.0-ctp but it doesn't work. I'm confident that it is possible since Boost 1.55 officially supports Visual Studio 2013 (msvc-12.0) and there have only been few breaking changes between the two releases.

我的动机是我需要的CTP的一些特点,所以我自己的应用程序将与MSVC编译器的CTP版进行编译。恐怕只是编译升压与原来的2013编译器会导致加速和我自己的应用程序之间的二进制不兼容性。 斯蒂芬吨Lavavej自己没有按T保证二进制兼容性

My motivation is that I need some features of the CTP so my own application will be compiled with the CTP version of the msvc compiler. I'm afraid that simply compiling Boost with the original 2013 compiler will cause binary incompatibilities between Boost and my own application. Stephen T. Lavavej himself doesn't guarantee binary compatibility:

- 重新使用MSVC 2013年11月CTP为MSVC 2013内置升压二进制的任何机会。

-- any chance of reusing Boost Binaries built for MSVC 2013 in MSVC Nov 2013 CTP

由于这是编译器只是,你也许可以逃脱混合和匹配。我不会推荐它,虽然。

Because this is compiler-only, you can probably get away with mixing-and-matching. I wouldn't recommend it, though.

如何解决这个有什么想法?先谢谢了。

Any thoughts on how to solve this? Thanks in advance.

推荐答案

<击>注意,我并​​没有内置升压与Visual Studio 2013年11月CTP,因此进一步的解释是纯理论性的。

在谷歌搜索的一些尝试和,终于,我做到了。所以,算法是:

After some Googling and trying, finally, I did it. So, algorithm is:


  1. 从Subversion(可能是,它可以与发行的发行做,但我也没试过)查看最新升压

  1. Check out latest Boost from subversion (probably, it can be done with release distro, but I did not tried)

svn co  http://svn.boost.org/svn/boost/trunk boost-trunk 


  • 指定自定义路径用户config.jam中文件,该文件位于来编译%BOOST_HOME%/工具/建设/ V2 / (其中%BOOST_HOME%是签出你的发行版的路径):

  • Specify custom path to compiler in user-config.jam file, which is situated in %BOOST_HOME%/tools/build/v2/ (where %BOOST_HOME% is a path where you checked out your distro):


    • 添加一行:

    使用MSVC:12.1:C:/ Program Files文件(86)/微软的Visual C ++编译器2013年11月CTP /斌/ CL;


    • 您可以使用,而不是 12.1 ,只要把这里的东西来区分你的工具集后,在调用的时候 B2

    • you can use arbitrary string instead of 12.1, just put something here to distinguish your toolset later, when invoking b2

    不要忘了之前和结肠后分号之前放空间,并且还用斜线 / 或双反斜线 \\\\ 而不是反斜杠 \\ 。见注释说明用户config.jam中文件

    Don't forget to put spaces before and after colon and before semicolon, and also use slashes / or double backslashes \\ instead of backslashes \. See explanation in comments of user-config.jam file

    请确保你没有在该行的开头(即它不评论)

    Make sure that you don't have # in the beginning of the line (i.e. it is not commented)

    运行 VS2013的x86本机工具命令提示符或手动运行的cmd.exe 然后设置环境通过调用C:\\ Program Files文件(x86)的\\微软的Visual Studio 12.0 \\ VC \\ vcvarsall.bat-x86 。更改 86 64 如果需要的话。

    Run VS2013 x86 Native Tools Command prompt or run manually cmd.exe and then set up environment by invoking "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" -x86. Change x86 to x64 if needed.

    要CTP编译器添加路径 PATH 变量:

    Add path to CTP compiler to PATH variable :

    set PATH=C:/Program Files (x86)/Microsoft Visual C++ Compiler Nov 2013 CTP/bin;%PATH%
    


  • 检查CTP编译器路径去的的路径释放之一:

    echo %PATH%
    


  • %BOOST_HOME%及运行 B2工具集= MSVC-12.1 ...&lt;其它PARAMS去那里&GT; ..

    在进程管理器或ProcessExplorer检查 B2 调用编译CTP,而不是释放一个

    In process manager or ProcessExplorer check that b2 invokes CTP compiler, and not release one

    不幸的是,并非所有的图书馆建立的罚款。有一些编译错误。

    Unfortunately, not all libraries builds fine. There are some compile errors.

    另请参阅:

    • this answer
    • this page of boost-build docs

    希望它帮助。快乐的建筑! =)

    Hope it helps. Happy building! =)

    这篇关于如何构建升压1.55与Visual Studio 2013 CTP 2013年11月的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆