使用VS2012 RC构建增强功能

Jep*_*sen 4 boost visual-studio-2012

我刚刚下载了适用于Windows 8 64位的Visual Studio 2012 RC.我已经尝试编译boost库(版本1.51),但是当我在Visual Studio提示命令中,我发生了一个错误.我在帖子的末尾发布了bootstrap.log.我想知道在Windows 8 Release Candidate上为VS2012RC构建boost的正确步骤是什么.

提前感谢您的回复.

###
### Using 'vc11' toolset.
###

C:\Users\XXX\Downloads\boost_1_51_0\boost_1_51_0\tools\build\v2\engine>if
exist bootstrap rd /S /Q bootstrap

C:\Users\XXX\Downloads\boost_1_51_0\boost_1_51_0\tools\build\v2\engine>md
bootstrap

C:\Users\XXX\Downloads\boost_1_51_0\boost_1_51_0\tools\build\v2\engine>cl
/nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG
-wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0
command.c compile.c constants.c debug.c execnt.c filent.c function.c
glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c
make.c make1.c object.c option.c output.c parse.c pathunix.c regexp.c
rules.c scan.c search.c subst.c timestamp.c variable.c modules.c
strings.c filesys.c builtins.c md5.c pwd.c class.c w32_getreg.c
native.c modules/set.c modules/path.c modules/regex.c
modules/property-set.c modules/sequence.c modules/order.c
command.c
compile.c
constants.c
debug.c
execnt.c
filent.c
function.c
glob.c
hash.c
hdrmacro.c
headers.c
jam.c
jambase.c
jamgram.c
lists.c
make.c
make1.c
object.c
option.c
output.c
Generazione del codice in corso...
Compilazione in corso...
parse.c
pathunix.c
regexp.c
rules.c
scan.c
search.c
subst.c
timestamp.c
variable.c
modules.c
strings.c
filesys.c
builtins.c
md5.c
pwd.c
class.c
w32_getreg.c
native.c
set.c
path.c
Generazione del codice in corso...
Compilazione in corso...
regex.c
property-set.c
sequence.c
order.c
Generazione del codice in corso...

C:\Users\XXX\Downloads\boost_1_51_0\boost_1_51_0\tools\build\v2\engine>.\bootstrap    \jam0
-f build.jam --toolset=vc11 "--toolset-root=C:\Program Files
(x86)\Microsoft Visual Studio 11.0\Common7\Tools\..\..\VC\ " clean
...found 1 target...
...updating 1 target...
...updated 1 target...

C:\Users\XXX\Downloads\boost_1_51_0\boost_1_51_0\tools\build\v2\engine>.\bootstrap\jam0
-f build.jam --toolset=vc11 "--toolset-root=C:\Program Files
(x86)\Microsoft Visual Studio 11.0\Common7\Tools\..\..\VC\ "
don't know how to make command.c
don't know how to make compile.c
don't know how to make constants.c
don't know how to make debug.c
don't know how to make function.c
don't know how to make glob.c
don't know how to make hash.c
don't know how to make hcache.c
don't know how to make headers.c
don't know how to make hdrmacro.c
don't know how to make jam.c
don't know how to make jambase.c
don't know how to make jamgram.c
don't know how to make lists.c
don't know how to make make.c
don't know how to make make1.c
don't know how to make mem.c
don't know how to make object.c
don't know how to make option.c
don't know how to make output.c
don't know how to make parse.c
don't know how to make regexp.c
don't know how to make rules.c
don't know how to make scan.c
don't know how to make search.c
don't know how to make subst.c
don't know how to make w32_getreg.c
don't know how to make timestamp.c
don't know how to make variable.c
don't know how to make modules.c
don't know how to make strings.c
don't know how to make filesys.c
don't know how to make builtins.c
don't know how to make pwd.c
don't know how to make class.c
don't know how to make native.c
don't know how to make md5.c
don't know how to make modules/set.c
don't know how to make modules/path.c
don't know how to make modules/regex.c
don't know how to make modules/property-set.c
don't know how to make modules/sequence.c
don't know how to make modules/order.c
don't know how to make execnt.c
don't know how to make filent.c
don't know how to make pathunix.c
...found 50 targets...
...updating 1 target...
...can't find 46 targets...
...can't make 2 targets...
[MKDIR] bin.ntx86_64
...skipped b2.exe for lack of command.c...
...skipped bjam.exe for lack of b2.exe...
...skipped 2 targets...
...updated 1 target...
Run Code Online (Sandbox Code Playgroud)

Ver*_*ahn 15

解决方法:

  1. 将目录更改为boost_1_51_0-x64\tools\build\v2
  2. 执行bootstrap.bat(不是来自本机x64命令提示符 - 只需双击它)
  3. 将b2.exe复制回boost_1_51_0-x64目录
  4. 将目录更改为boost_1_51_0-x64
  5. 执行b2

我编写了一个名为BlueGo的工具,它自动下载boost 1.51.0并使用VS2012 x64构建它:http://vertexwahn.de/


rap*_*nja 7

版本1.52 刚刚发布,现在包括对Visual Studio 2012(VC11)的支持如果您需要早期版本的Boost,您始终可以将项目使用的工具集更改为VC10.


小智 5

不是真的答案,但你可以在这里下载用VC11 RC构建的预建Boost二进制文件.基于此页面,在VC11上构建Boost似乎存在一些问题(请参阅此主题)