虽然尝试在Visual Studio上安装Boost Python,但我得到的结果却很少。我能够创建Boost.Python库,并且还创建了boost_python ... lib文件,这让我花了很长时间才弄清楚如何实现这一目标。
但是,现在在visual studio中,在向链接器添加include和library路径之后,我无法使用一个小的测试程序。
尝试运行以下代码行时:
Py_Initialize();
using namespace boost::python;
object main_module((handle<>(borrowed(PyImport_AddModule("__main__")))));
我收到以下错误
程序无法启动,因为 boost_python-vc141-1_65.dll 缺失....
当我查看库所在的boost文件夹(在stage文件夹中)时,我可以清楚地看到这个文件,并且我已将程序链接到该文件夹。
我尝试了各种不同的Boost版本。
最新的稳定版本如此1.64与beta 1.65具有相同的问题。使用之前的版本1.61,我甚至无法构建Boost.Python。
我也尝试了不同的Python版本,3.6和现在2.7。我已经卸载了所有其他版本的Python,因此2.7版本是唯一的版本。我还确保在系统变量中设置了PYTHONHOME和PYTHONPATH。 ? 我错过了让这个Boost Python库工作的重要内容吗?如果需要任何其他信息,请询问我将添加它,但由于我一般不熟悉提升和链接,我不确定哪些信息是相关的。
答案 0 :(得分:2)
在Windows上没有/ usr / shared目录,因此boost build脚本无法为每个人安装dll库。所以你应该自己做这个工作。
您的dll文件必须与您的exe文件位于同一目录中。编译boost时,它在boost输出目录中创建了dll库(搜索此文件)。因此,您必须通过自定义构建步骤等将此* .dll文件复制到输出目录(其中C ++编译器/链接器创建您的* .exe)。
如果启用了SafeDllSearchMode,则搜索顺序如下:
如果禁用SafeDllSearchMode,搜索顺序如下: