在python中加载自定义dll时的依赖性错误,使用Visual Studio 2017和boost构建

时间:2017-07-12 04:00:38

标签: python c++ boost dll visual-studio-2017

我正在尝试从C ++和boost源构建BGSLibrary python模块。该库在linux上编译没有问题。对于Windows,我使用的是Visual Studio 2017和Cmake 3.9。这是我的步骤。

  1. Visual Studio安装选项 image

  2. 从Visual Studio命令行终端中下载Boost,安装脚本

    bootstrap.bat

    b2 -j%cores% toolset=msvc-14.1 address-model=32 architecture=x86 link=static threading=multi runtime-link=static --build-type=complete stage --with-python

    1. 将boost_python-vc141-mt-s-1_64.lib重命名为python_boost.lib以满足cmake要求。
  3. CMake配置选项 image

  4. Visual Studio外部包含目录 image

  5. Visual Studio外部库目录 image

  6. 将原来名为boost_python-vc141-mt-s-1_64.lib的副本移至bgs构建文件夹。

  7. 执行Visual Studio Build。它成功创建了libbgs python dll enter image description here

  8. 根据这个question我将libbgs.dll重命名为.pyd并在文件夹中有boost lib。我在路径中添加了bgslibrary / build。不幸的是还没有。

  9. image

    一些依赖性问题。快速浏览DependencyWalker非常令人生畏,存在大量问题。

    enter image description here

    在我去尝试个人手动将所有这些.dll添加到bgslibrary / build文件夹之前,我是否有更高级别的错误。我应该选择"静态库"在视觉工作室的一般属性中,会有所作为吗?

1 个答案:

答案 0 :(得分:1)

解决。依赖性walker足够老,它只显示很多错误。真的是4个opencv dll。将opencv / build / release / bin添加到我的路径中就可以了。