尽管有静态链接,Opencv 3.2.0 .dll 仍然丢失

Opencv 3.2.0 .dll missing despite static linking

我正在尝试在未安装 OpenCV 的 PC 上使用利用 OpenCV 的程序。尝试启动程序会导致以下错误:

"This program can't start because opencv_world320.dll is missing from your computer. Try reinstalling the program to fix the problem."

现在我知道如果没有链接正确的库或者链接不是静态的,这通常会发生,但是因为预构建的 OpenCV 3.2 只使用一个库,并且在仔细检查运行时库在 VS2015 中设置为 /MT 之后我不知道为什么这个错误仍然存​​在。

在 PE 分析器中查看构建的 .exe 文件还显示 opencv_world320.dll 仍被列为导入。

如何解决这个问题?

OpenCV 3.2 prebuild 只为 vc14 提供 x64 dynamic 库。

您尝试 link(在子文件夹 x64\vc14\lib 中)的 .lib 是一个 import 库,其中包含用于允许 link 人 link 到 dll。有关此事的更多详细信息,请参阅 here and here

在实践中,如果你想静态link到OpenCV,你需要重建它。您会在子文件夹 x64\vc14\staticlib.

中找到静态库