【发布时间】:2014-03-01 13:19:39
【问题描述】:
我正在尝试安装 Boost Python,但是 http://www.boost.org/doc/libs/1_55_0/libs/python/doc/tutorial/doc/html/python/hello.html 对我来说太压缩了。我正在从 Linux 切换到 Windows,设置所有技术内容让我发疯:)
因此,当我按照说明 http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html#prepare-to-use-a-boost-library-binary 并尝试执行 bootstrap.bat 时,它会抱怨缺少 VCVARS32.BAT 并且无法识别“cl”命令 - 但是我同时安装了 MS VS Express 2012 和 2013,两个 boost 版本(32、64)都安装在 C:/local/ 中,文档说两者都应该工作。那为什么找不到编译器呢?
更新:所以http://msdn.microsoft.com/en-us/library/9s7c9wdw%28v=vs.110%29.aspx 说你不能从命令行使用编译器......那我该如何构建我的 bjam?这一定是完全微不足道和愚蠢的事情......:/
更新:好的,更进一步。 vcvars32.bat 实际上设置了所有的环境变量,所以我现在可以调用命令行编译器了!实际上还有来自官方 boost 站点http://sourceforge.net/projects/boost/files/ 的 bjam 的预构建二进制文件,我得到它并将其复制到 boost_xxx/tools 文件夹并将站点添加到路径中,因此我也可以从命令行调用 bjam。 接下来我在我的主文件夹中放了一个 user-config.jam,它只说:
# MSVC configuration
using msvc : 11.0 ;
# Python configuration
using python : : C:/Users/me/Anaconda ;
在 C:\local\boost_1_55_0\libs\python\example\tutorial 提供的 Jamroot 文件中,我只编辑了
use-project boost
: C:/local/boost_1_55_0 ;
然后我从同一个目录调用 bjam,这给了我一些神秘的输出
C:\local\boost_1_55_0\libs\python\example\tutorial>bjam
warning: mismatched versions of Boost.Build engine and core
warning: Boost.Build engine (bjam) is 03.1.18
warning: Boost.Build core (at C:/local/boost_1_55_0/tools/build/v2) is 2011.12-s
vn
link.jam: No such file or directory
C:/local/boost_1_55_0/tools/build/v2/util\path.jam:458: in path.makedirs
rule MAKEDIR unknown in module path.
C:/local/boost_1_55_0/tools/build/v2/build\configure.jam:233: in configure.set-l
og-file
C:/local/boost_1_55_0/tools/build/v2\build-system.jam:695: in load
C:\local\boost_1_55_0\libs\python\example\..\..\..\tools\build\v2/kernel\modules
.jam:289: in import
C:\local\boost_1_55_0\libs\python\example\..\..\..\tools\build\v2\kernel\bootstr
ap.jam:139: in boost-build
C:\local\boost_1_55_0\libs\python\example\boost-build.jam:7: in module scope
C:\local\boost_1_55_0\libs\python\example\tutorial>
现在,您能否给我一些提示,说明哪里出了问题以及从哪里开始?我真的想要一个稳定、健壮的 boost.python 工作副本——如果我需要一起破解某些东西,这对我来说没有意义。我认为它非常标准/可靠,难道没有类似“boost.python 供没有学习计算机科学的人使用”之类的东西吗?我可以忽略这些警告吗?
【问题讨论】: