【问题标题】:Visual C++ application deployment that involves openCV: Proper Guideine needed [closed]涉及 openCV 的 Visual C++ 应用程序部署:需要适当的指南 [关闭]
【发布时间】:2017-01-18 06:09:35
【问题描述】:

我在 Visual Studio IDE(VS 2015 Enterprise)上使用 Visual C++ 编写了大量代码。我的应用程序严重依赖于 openCV(x64-vc14)。它在我的电脑上完美运行。但是当我尝试使用 install shield limited(在调试构建模式下)部署到另一台计算机时,它显示 .exe 文件依赖于许多 .dll 文件。我浏览了谷歌,发现了依赖walker,但是当我运行dependency walker时,它给出了一个包含数千个.dll文件的依赖列表。从我的计算机复制每个 dll 文件并将其添加到应用程序的目录中是非常耗时的手动过程。还有其他更好的方法可以自动执行此操作吗?在构建过程中或在项目属性设置中我有什么遗漏吗?我需要一个指南,因为将来我的应用程序会更大,并且可能还依赖于更多的 dll 文件。

【问题讨论】:

    标签: opencv visual-c++ dll deployment opencv3.0


    【解决方案1】:

    您不应该部署调试版本,它们取决于 CRT 的调试版本,并且不打算重新分发(或者您甚至不被允许,我不知道,不是律师)。 而是构建发布版本并在目标计算机上安装“Visual C++ Redistributable Packages for Visual Studio 2015”——Installshield 应该将其作为先决条件。对于 OpenCV,您必须指示 Installshield 获取所需的所有 dll。手动扫描,或者让它扫描依赖项(尽管 afaik 可能包含超出需要的方式)。

    【讨论】:

    • 非常感谢。我在发布模式下构建了我的应用程序。我的应用程序在目标计算机上运行顺利,因为我安装了 Visual C++ Redistributable 包。我仍然需要将 openCV“opencv_world310.dll”(它有资格重新分发)连同我的应用程序一起传输。能否请您分享一种将 dll 嵌入 .exe 或 Install shield 的方法?
    • 在 Installshield 中将其添加为“组件”
    猜你喜欢
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 2014-10-19
    • 1970-01-01
    • 2011-01-14
    • 2020-07-11
    • 1970-01-01
    相关资源
    最近更新 更多