在Windows x64上用Cmake构建Java的OpenCV。

问题描述 投票:0回答:1

我正在Windows上使用cmake包括comtributed(额外的)模块构建OpenCV 420 for Java。我成功地完成了cmake过程,生成了VS 2017项目。VS项目,设置为x86目标,编译并生成opencv-420.jar和opencv_420.dll。opencv_420.dll大小为37158kb。它包含编译过程中创建的所有依赖库(dll)。这对jar和dll可以正常工作,这两个文件让Java可以完全访问所有opencv函数,包括贡献的函数。这表明varions依赖的dlls被合并到单一库opencv_420.dll中。

接下来我为x64目标创建了一个文件夹,复制了上面x86项目使用的x86文件夹,并将平台设置为x64。我成功运行cmake,生成VS项目,据我所知,它编译成功了(有很多东西我不完全理解)。如我所料,生成了x64 opencv-420.jar和opencv_420.dll。然而,opencv_420.dll很小,只有2621kb,当我尝试运行应用程序时,它以找不到依赖库为由失败。我已经确定这个dll不像x86 dll那样包含依赖库。

我查看了cmake文件和VS项目,似乎找不到x86项目和x64项目之间的差异,导致依赖的dlls没有被合并到opencv_420.dll中。

java windows opencv cmake visual-studio-2017
1个回答
0
投票

这个我自己回答了。说说看不清森林的情况吧! 在x86和x64 cmake选项之间有一个区别,我只是没有看到,直到我今天做的一些阅读触发了哈哈时刻。我需要在x64配置中启用Java Fat Jar选项,就像在x86配置中一样。现在一切都好了。

© www.soinside.com 2019 - 2024. All rights reserved.