最近打算自学boost/python相关内容,踩了很多坑,特此,记录一下,我用的boost版本是1.71。
- boost安装
- 常见坑以及解决方式
- 【坑一描述】:vs编译时,无法打开“boost_python36-vc142-mt-gd-x64-1_71.lib”(前缀没有lib)
- 【坑二描述】:vs运行时报错:不是有效的win32应用程序。
- 【坑三描述】:vs运行报错无法打开pyconfig.h
- *如果对你有帮助,关注+点赞再走吧!!!*
boost安装
【第一步】:boost安装比较简单,进入boost官网下载即可,这里我下载的是boost_1_71_0-msvc-14.1-64.exe 这个版本,点击下载,安装即可。
【第二步】:找到安装目录,找到安装目录下的b2.exe,双击,开始编译。编译过程中时间比较长,耐心等待。
(也可以使用vs自带的Developer Command Prompt for VS 2019进行编译,这里我只介绍最方便的)
【第三步】:编译成功后,打开vs2019进行如下配置:
注意:python和boost都要配置
将\boost_1_79_0\lib64-msvc-14.3文件夹下的boost_python310-vc143-mt-gd-x64-1_79.lib文件复制到链接器>>输入>>附加依赖库中(这里我用的是debug模式X64位系统)
注意:如果你用的是release的X64模式,你需要赋值对应的boost_python310-vc143-mt-x64-1_79.lib文件。 X86位同理.
【第四步】:vs2019输入以下代码,如果没有报错,则说明安装成功。
#include <boost/python.hpp> #include <boost/python/module.hpp> #include <boost/python/def.hpp> #include <boost/python/to_python_converter.hpp> #include <iostream> using namespace std; void dummyFunc() { cout << "call OK!" << endl; } int main() { dummyFunc(); return 0; }
常见坑以及解决方式
【坑一描述】:vs编译时,无法打开“boost_python36-vc142-mt-gd-x64-1_71.lib”(前缀没有lib)
【解决方式】:到boost安装目录下,进入stage\lib文件夹下,找到前缀是libboost_python36-vc142-mt-gd-x64-1_71.lib文件(前缀有lib),将其前缀的lib删除即可(即重命名为boost_python36-vc142-mt-gd-x64-1_71.lib)。
【坑二描述】:vs运行时报错:不是有效的win32应用程序。
【解决方式】:将配置类型改为exe即可
【坑三描述】:vs运行报错无法打开pyconfig.h
【解决方式】:回头检查安装步骤中的【第三步】