- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试达到使用 Boost-Python 的 0 级(在安装了 VS2015 和 Python 3.6 的 Windows 10 上),即构建教程,基本上是过去整整 3 天的时间。我首先尝试阅读官方教程:- http://www.boost.org/doc/libs/1_64_0/libs/python/doc/html/tutorial/tutorial/hello.html但这行不通。在我看来,该示例的设置需要“tutorial”目录中的“Jamfile”和父目录中的“Jamroot”。
经过调查/搜索,我开始回答:- Can't run bjam to compile boost python tutorial目前我陷入困境
fatal error C1083: Cannot open include file: 'boost/python/module.hpp': No such file or directory
我会继续尝试,但第一个问题:-
1) 在我看来,我应该能够使用 bjam.exe 以及 boost_1_64_0\libs\python\tutorial 中的以下文件进行构建:hello.cpp
、hello.py
、一些 .lib
(例如 boost_python3-vc140-mt-gd-1_64.lib 等)、合适的 Jamfile
、bjam.exe
在教程目录中,在父目录中放置一个合适的 Jamroot
,在我的 HOMEPATH 中放置 user-config.jam
。是对的吗 ?
事实上,经过上周的深思熟虑和尝试,我更进一步,得到了以下链接器错误:-
LINK : fatal error LNK1207: incompatible PDB format in 'C:\Program Files\boost\boost_1_64_0\libs\python\example\tutorial\hello_ext.pdb'; delete and rebuild call "C:\Users\DIAMON~1\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86.cmd" nul link /NOLOGO /INCREMENTAL:NO /DLL /NOENTRY /DEBUG /MACHINE:X86 /MANIFEST /subsystem:console /out:"hello_ext.dll" /IMPLIB:"hello_ext.pdb" /LIBPATH:"C:\Users\DiamondExp\AppData\Local\Programs\Python\Python36-32\libs" @"hello_ext.dll.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link.dll hello_ext.dll hello_ext.pdb hello_ext.pdb...
然后我失去了 - 我必须非常可耻地承认 - 当我愚蠢地删除了整个 boost 目录以从“干净状态”开始时,部分工作的 Jamfile/Jamroot 丢失了。真的很蠢。无论如何,我真的找不到任何地方可以摆脱这个 fatal error LNK1207。
我非常渴望进入 Boost-Python 的领域,这会让我的生活变得更加轻松。因此,我非常感谢经验丰富的 Boost-Python 和/或 Boost.Build 用户提供的任何意见,并可能得到以下具体问题的答案:
2)我应该如何修改我的 'libs\python\example\Jamroot' (特别是在“
3) 放弃 bjam.exe 并尝试直接使用 VisualStudio 2015 进行构建是否是一个很好的替代方案?就像那里:Building/including Boost.Python in VS2013
4) 从一些帖子来看,Boost 1_55 之后发生了一些事情。有几个人无法让它发挥作用。 Boost-Python 和 msvc14.0 或 Python 3.x 之间有任何已知的兼容性问题吗?例如 : Compile boost-python tutorial with VS-2015 CTP 5 and Python 3.5a on Windows 10 TP
5) 我对 32 位/64 位的事情感到困惑。我安装了 64 位操作系统 (Windows10) 和 Python 32 位。我应该将 b2.exe 调用中的“地址模型选项”与什么相匹配?这有什么关系吗?
6) 这里值得使用 .dll 而不是 .lib 吗?
希望有人能做到这一点......
Jamfile:(默认情况下没有任何修改)
import python ;
project tutorial
: requirements
<location>.
;
python-extension hello_ext : hello.cpp ;
run-test hello : hello_ext hello.py ;
alias test : hello ;
explicit test ;
果酱:
import python ;
if ! [ python.configured ]
{
ECHO "warning: no Python configured in user-config.jam" ;
ECHO "warning: will use default configuration" ;
using python ;
}
# Adjust the following if Boost.Python isn't installed in a default location
lib boost_python ;
project
: requirements
<include>C:\\Users\\DiamondExp\\Downloads\\boost_1_64_0\\boost_1_64_0\\boost\\python
<library>boost_python
;
rule run-test ( test-name : sources + )
{
import testing ;
testing.make-test run-pyd : $(sources) : : $(test-name) ;
}
#build-project quickstart ;
build-project tutorial ;
if [ python.numpy ]
{
build-project numpy ;
}
用户配置.jam
# -------------------
# MSVC configuration.
# -------------------
# Configure specific msvc version (searched for in standard locations and PATH).
using msvc : 14.0 : "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\cl.exe" ;
# ---------------------
# Python configuration.
# ---------------------
# Configure specific Python version.
# using python : 3.6 : /usr/bin/python3 : /usr/include/python3.1 : /usr/lib ;
using python
: 3.6 # Version
: C:\\Users\\DiamondExp\\AppData\\Local\\Programs\\Python\\Python36-32\\python.exe # Python Path
: C:\\Users\\DiamondExp\\AppData\\Local\\Programs\\Python\\Python36-32\\include # include path
: C:\\Users\\DiamondExp\\AppData\\Local\\Programs\\Python\\Python36-32\\libs # lib path(s)
: <define>BOOST_ALL_NO_LIB=1
;
最佳答案
如果您对 C++ 到 Python 感兴趣,您应该看看 Pybind11 。它是一个基于 Boost 的纯头文件库,专注于将 C++ 绑定(bind)到 Python。
您可以下载所有资源here 。
当我意识到在 Windows 上设置 Boost python 库非常危险时,我选择了这个选项。
关于python - 坚持Boost-Python教程(Boost 1_64_0、Python3.6和msvc 14.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45284693/
在我的 POJO 中,我有这个: @Transient private int qtyMentee; 在我的 DAO 中我有这个查询: public List findQtyMentee(){
如果我正在编写的应用程序终止,我需要将当前位置存储到 iphone 的“磁盘”中。然后,当应用程序再次启动时,我想恢复这些信息。但是,CLLocation 坐标属性是只读的。 如何在程序调用之间保存此
这个问题有点来回,因为我已经了解了一些关于 unix 系统的 g++ 知识(抱歉,如果我把任何人搞砸了)。 对于我目前正在尝试完成的项目,我想获得 twitcurl使用 Xcode 和 OpenFra
我想在表格中显示用户的姓名以及本周发布的照片数量。 示例:用户 1 发布了 10 张照片,用户 2 发布了 20 张照片...... 所以我需要一个计数,但我不知道如何。 图片型号: public
我正在尝试保留具有@OneToMany 和@ManyToOne 关系的实体。 @OneToMany(mappedBy="customer", cascade=CascadeType.ALL, fetc
我有一个表单,我从另一个表中获取字段,例如,第一个字段是硬编码的,第二个字段是从另一个表中获取的,如果其他表有 10 条记录,则向用户显示 10 个新字段。我的问题是如何将这种数据插入表中。 我得到这
我一直在努力控制导入和导出,这样我就可以精简我的 JS 应用程序。我试过合并这些 Mozilla和 this Stack Overflow examples没有任何运气。 It looks like
我的数据库中的一个字段中包含以下文本: [quote:5a7b87febe="mr smith"]This is some text. This is more text on another lin
我正在使用 cling UPnP android 中的框架连接到支持 UPnP 的设备。我成功地创建了一个设备并浏览了网络中的可用设备。但对于三星电视在网络框架内没有任何反应。在这里我添加了 Rend
我正在制作一个问答网站,类似于此网站和 Yahoo answers。我有 3 个表 - smf_members、qa_questions 和 qa_answers。 在此查询中,我想从 qa_ques
阅读后this question - 它还提供了文档链接,我仍然对文档有疑问。 MDN:Date.parse A string representing an RFC2822 or ISO 8601
我有一个父实体客户端。该客户可以访问该网站并创建约会。这意味着约会是在客户反对的其他时间创建的。 我的问题是:如何将子对象添加到已持久化的父对象中?如果调用下面示例中的函数 addData1(),则会
我正在尝试创建气泡,重复几次后我的浏览器卡住了。这是我的代码。有人请帮助....我如何在不提出许多请求的情况下完成它。 看起来我的帖子主要是代码,但我为这个 Stackoverflow 添加了足够的细
我被这个 linq 查询困住了,我需要做的就是优化最后的价格计算,因为我得到了大约 1000 篇文章,而且销量很大,所以它变得很慢...... var result = from article in
我有一列用于对象创建 的时间,一列用于对象更新 的时间。当我创建并保留新对象时,我从 MySQL 收到错误: updated cannot be null. 我没有为它设置任何值,因为我希望 upda
我以前使用 git 没有任何问题,但突然间我无法推送 或克隆 任何东西。当我使用这个命令时,没有任何反应,甚至没有错误,所以我必须按 ctrl + c 或关闭 git 窗口。 我使用这个简单的命令来推
我似乎不知道下一步该做什么。我的目标是使用图像包中的 SubImage 函数从原始图像创建一个包含所有子图像的数组。我能够在 imageSplit() 函数中分割图像并通过 channel 传递给 i
我有一个 STM32L-Discovery 板,它有一个 STM32L152R8 微处理器。我很难让基本的事情发挥作用。 我看过ST给出的例子(电流消耗触摸传感器和温度传感器),我认为它们不太用户友好
这是一个散列,其中mysql列与散列的键相关,值与散列的值相关 {:jobID=>"1", :checkoutArtificateFolder=>"/cmf/new/build/Artifacts/
我有两个实体 @Entity @Table(name="parent") public class Parent { @Id String uuid; @ElementCollection
我是一名优秀的程序员,十分优秀!