我知道,新的工具不被支持的提振,但是我想尝试用反正它构建加速。我已经使用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:
从Subversion(可能是,它可以与发行的发行做,但我也没试过)查看最新升压
Check out latest Boost from subversion (probably, it can be done with release distro, but I did not tried) svn co svn.boost/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 ...<其它PARAMS去那里> ..
在进程管理器或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回答
- 升压构建这个页面文档
- this answer
- this page of boost-build docs
希望它帮助。快乐的建筑! =)
Hope it helps. Happy building! =)
更多推荐
如何构建升压1.55与Visual Studio 2013 CTP 2013年11月
发布评论