【问题标题】:Installing Boost Python on Windows 8.1, Setting up the toolchain correctly在 Windows 8.1 上安装 Boost Python,正确设置工具链
【发布时间】: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 供没有学习计算机科学的人使用”之类的东西吗?我可以忽略这些警告吗?

【问题讨论】:

    标签: python c++ windows boost


    【解决方案1】:

    也许你可以使用来自http://www.lfd.uci.edu/~gohlke/pythonlibs/#boost.python的二进制文件

    关于你的编译器问题:关于这个已经有很多问题了。基本上,您需要的编译器取决于您的 python 版本。您可能需要安装一些 Windows SDK 并手动设置一些东西。这对我来说一直很痛苦,最后你可能会更好地使用像Canopy这样的python发行版(还有其他一些)。

    【讨论】:

    • 谢谢,我使用了来自 boost 家伙的官方二进制安装程序,这些预打包发行版的问题是,在某些时候你需要一些他们不包含的东西,你被搞砸了 :( 我是认真的让命令行编译器在 Windows 上工作不会那么难吧 ^^。我想准确地学习那些痛苦的东西;)必须有一个可理解的教程之类的,我只是还没有找到它...我的意思是它令人难以置信,在 msdn 上没有一步一步的介绍!
    • @user2900072:二进制安装程序无法为您提供所需的编译器,因为它不属于他们,您必须自己获取。每个版本的 Python 都是使用特定版本的 MS 编译器构建的。对于 2.x 版,您曾经可以免费获得 Visual C++ 2008 Express Edition——但是 MS 不再分发它,所以除非您已经拥有它,否则您就有问题了。可以使用非 MS 编译器,例如 Cygwin 的 gcc。这是可行的,因为它们不使用 MS C/C++ 运行时,因此不会发生混合两个不同版本而引起的冲突。
    • @user2900072:您可能仍然可以获得 MS SDK,请参阅问题 Visual C++ 2008 Express Download Link Dead?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多