首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bjam生成快速入门示例时出现的问题

使用bjam生成快速入门示例时出现的问题
EN

Stack Overflow用户
提问于 2019-01-29 16:26:46
回答 1查看 71关注 0票数 0

我第一次尝试使用boost::python,我从包含的教程开始,但我感到失望,因为我甚至不能在一整天的工作后构建任何东西。

我的开发工具是Python37,Boost1.69,VS 2017和Windows10操作系统。Python解释器和Boost的二进制文件都是64位版本。

我在"Z:/EXTERNOS/boost_1_69_0/tools/build“中构建了bjam.exe,但我没有将其包含在系统路径中(我测试了它,但得到了相同的错误)。我正在使用ECHO %HOMEDRIVE%%HOMEPATH%指示的文件夹中的下一个"user-config.bjam“文件:

代码语言:javascript
复制
import toolset : using ;
using msvc : 14.1 ;
using python 
  : 3.7  # Version
  : "C:/Program Files/Python37/python.exe"  # Interpreter
  : "C:/Program Files/Python37/include"  # inc dir
  : "C:/Program Files/Python37/libs"  # link libs
  : # conditions
  ;

然后,我在命令控制台中切换到文件夹"Z:/EXTERNOS/boost_1_69_0/libs/python/example/quickstart“,并运行以下语句:

代码语言:javascript
复制
Z:\EXTERNOS\boost_1_69_0\tools\build\bjam.exe

控制台中的输出如下:

代码语言:javascript
复制
"C:/Program" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
...found 26 targets...
...updating 6 targets...
compile-c-c++ extending.obj
extending.cpp
extending.cpp(5): fatal error C1083: No se puede abrir el archivo incluir: 'boost/python/class.hpp': No such file or directory

    call "..\bin\standalone\msvc\msvc-14.1\msvc-setup.bat"  >nul
 cl /Zm800 -nologo @"extending.obj.rsp"

...failed compile-c-c++ extending.obj...
...skipped <p.>extending.pyd for lack of <p.>extending.obj...
...skipped <p.>extending.pdb for lack of <p.>extending.obj...
compile-c-c++ embedding.obj
embedding.cpp
embedding.cpp(6): fatal error C1083: No se puede abrir el archivo incluir: 'boost/python.hpp': No such file or directory

    call "..\bin\standalone\msvc\msvc-14.1\msvc-setup.bat"  >nul
 cl /Zm800 -nologo @"embedding.obj.rsp"

...failed compile-c-c++ embedding.obj...
...skipped <p.>embedding.exe for lack of <p.>embedding.obj...
...skipped <p.>embedding.pdb for lack of <p.>embedding.obj...
...failed updating 2 targets...
...skipped 4 targets...

我注意到很多人都有类似的问题,但提供给他们的测试解决方案似乎对我不起作用。

你知道什么是失败的吗?

EN

回答 1

Stack Overflow用户

发布于 2019-01-29 20:54:00

在与bjam再次斗争了一段时间后,我放弃了,开始寻找另一种更简单的方法。其中有一些:使用CMake、python disutils...但我发现最适合使用c++和msvc的人使用的是下一个:

  • 使用VS (在2010到2017年的版本中测试,不确定之前的版本)。
  • 创建并清空控制台应用程序,并将其设置为共享库。
  • 在VS中设置所有内容,以查找所需的boost和python文件夹。都包含并编译boost::python教程的c++代码(请记住,x86或64位环境必须与安装的python解释器匹配)。
  • 转到结果文件夹,更改.pyd Python it的.dll扩展在同一结果文件夹中打开控制台命令,启动Python解释器,导入并调用任何方法。

远比官方的bjam系统更容易!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54416687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档