gpt4 book ai didi

c++ - 无法成功安装 Boost.Python

转载 作者:搜寻专家 更新时间:2023-10-31 01:47:36 24 4
gpt4 key购买 nike

我正在尝试在我的计算机上安装 Boost.Python。 (Windows7 64 位、Visual Studio 2012、Python 2.7 64 位和 Boost 1.54)

按照说明,我已经成功安装了Boost Library,然后我必须单独安装Boost.Python。

但是,当我按照 here 上的说明进行操作时.我卡在了步骤 3.1.4。

我输入C:\boost_1_54_0\…\quickstart> bjam toolset=msvc --verbose-test test

然后弹出 135 个 Unresolved external 错误。其中之一是:

exec.obj : error LNK2019: unresolved external symbol __imp__PyEval_GetGlobals referenced in function "class boost::python::api::object __cdecl boost::python::eval(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?eval@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)........\bin.v2\libs\python\build\msvc-11.0\debug\boost_python-vc110-gd-1_54.dll

我可以知道如何解决这个问题吗?

============================================= ==========

编辑:

按照@Kyle 的建议,我卸载了 64 位 Python 并将其替换为 32 位 Python (2.7.5)。

然后我写了一个很简单的代码,如下:

#include <boost\python.hpp>       // This header used to raise error before
#include <Python.h>
using namespace std;

void main()
{
return;
}

效果很好。然后我的好奇心让我更进一步,我在第一篇文章中尝试了这个例子。事实证明,那 135 个 Unresolved external 错误都没有了。相反,我有这个:

msvc.link.dll bin\msvc-11.0\debug\extending.pyd LINK : fatal error

LNK1104: cannot open file 'boost_python-vc110-mt-gd-1_54.lib'

call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86

nullink /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /MACHINE:X86 /MANIFEST /subsystem:console /out:"bin\msvc-11.0\debug\extending.pyd" /IMPLIB:"bin\msvc-11.0\debug\extendi ng.lib" /LIBPATH:"C:\Python2.7.5\libs"
@"bin\msvc-11.0\debug\extending.pyd.rsp "

    if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

...failed msvc.link.dll bin\msvc-11.0\debug\extending.pyd

bin\msvc-11.0\debug\extending.lib bin\msvc-11.0\debug\extending.pdb...

...skipped test_ext for lack of extending.pyd...

msvc.link bin\test_embed.test\msvc-11.0\debug\test_embed.exe LINK : warning

LNK4001: no object files specified; libraries used LINK : error

LNK2001: unresolved external symbol _mainCRTStartup

bin\test_embed.test\msvc-11.0\debug\test_embed.exe : fatal error

LNK1120: 1 unresolved externals

call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86 nul

link /NOLOGO /INCREMENTAL:NO /DEBUG /MACHINE:X86 /MANIFEST /subsystem:console

/out:"bin\test_embed.test\msvc-11.0\debug\test_embed.exe"

/LIBPATH:"C:\Python2.7.5\libs"

@"bin\test_embed.test\msvc-11.0\debug\test_embed.exe.rsp"

    if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

...failed msvc.link bin\test_embed.test\msvc-11.0\debug\test_embed.exe

bin\test_ embed.test\msvc-11.0\debug\test_embed.pdb...

...removing bin\test_embed.test\msvc-11.0\debug\test_embed.pdb

...skipped test_embed.run for lack of test_embed.exe...

...failed updating 5 targets...

...skipped 4 targets...

很抱歉用一大段错误信息打扰你,我只想提供尽可能多的信息。

关于这个boost_python-vc110-gd-1_54.dll,我可以在C:\local\boost_1_54_0_32bit\lib32-msvc-11.0找到,而root我的 Boost 是 C:\local\boost_1_54_0_32bit\

谁能帮我解决这个问题?

最佳答案

就像 Kyle C 提到的那样,发生这种情况是因为找不到库。如果要使用 64 位,则需要在命令行中指定 address-model=64,并在 user-config.jam 文件中正确指定 64 位版本的 python。

documented what I had to do to get this running ,请参阅底部的 64 位特定配置。

关于c++ - 无法成功安装 Boost.Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19008636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com