几天以来我试图开始在Windows上使用boost python而不是我的覆盆子pi,我正面临着与Boolean visibilitySearch= sharedPreferences.getBoolean("visibilitySearch", false);
而非{{1}链接的提升(或其某些依赖关系)的问题(我正在使用Python 3.6)
在我的覆盆子pi上,我使用的是捆绑的python,恰好是2.X并且与boost_python相关联。现在在Windows上我连接到boost_python3。我检查了CMake中的所有包含路径,它们都指向3.6 python路径。我甚至在我的系统上重命名了包含python(一个独立的2.7和一个在cygwin中)的不同版本的所有路径(我将cygwin文件夹重命名为python27.lib
并删除了独立的python 2.7文件夹)。它仍然想要那个库......
在我的程序中,我有一个与python相关的python36.lib
,而且是cygwin2
。我跟着它包含在visual studio中,它引导我到我在CMake中指定的boost目录中的python.hpp,这样分辨率就可以了。在#include
内,最终你会到#include <boost/python.hpp>
,其中包含python标题。我也在Visual Studio中关注它们,它将我引导到Python 3.6文件夹中的文件。
添加注释包括(删除它)使程序编译正常,所以我不小心将它作为库添加到CMake中。它必须在某处boost/python.hpp
。
总结一下:
wrap_python.hpp
#pragma comment
一次#include <Python.h>
我的问题:
boost/python.hpp
的所有文件/行所以我可以跟踪它(因为我很确定它某处某处得到2.7 python我不是意识到......)答案 0 :(得分:0)
I just went through this Boost将检查PY_MAJOR_VERSION
以确定要链接的库。所以在c++ > General > Additional Include Directories
中,添加你的python包含路径,以便boost可以看到PY_MAJOR_VERSION == 3
。如果没有,它将默认拉入2.x库。