OpenCV:用于Visual Studio项目的32位库和dlls
OpenCV: 32-bit libs & dlls for Visual Studio project
我正在将一个使用OpenCV 2.4的C++Visual Studio项目升级到更新版本的OpenCV(例如4.1.2或4.4.0(。我需要我的项目的32位和64位版本,因此我需要32位和32位版本的OpenCV-libs和dll。
但最近的OpenCV预构建可下载版本仅包含x64的库和dll。我确实在这里找到了32位和64位预编译的二进制文件(https://github.com/huihut/OpenCV-MinGW-Build)但它们是用MinGW构建的,没有我链接所需的VS兼容的库。
我可以尝试构建我自己的32位版本的OpenCV库,但乍一看,这可能需要花费很多精力。OpenCV使用CMake和其他我不熟悉的工具。
所以我的问题是:有人能给我指一下最近版本的OpenCV的32位版本吗?如果没有,有人能确认他们已经用Visual Studio构建了一个32位的OpenCV吗?如果这是我唯一的选择,我会走这条路,但我想提前知道这是否困难(例如,也许OpenCV本身有32位不可用的依赖项?(。
感谢您的帮助!
我自己构建了OpenCV,结果并不困难。我跟着导游到处走。我将在下面列出我自己的详细步骤,这可能会对其他人有所帮助。
我正在使用Visual Studio Enterprise 2019。我的选择显示在括号中。
- 从下载并安装CMakehttps://cmake.org/download(C第3.18.3节(
- 从下载OpenCV源代码https://opencv.org/releases(OpenCv 4.4.0(
- 解压缩源代码(c:\opencv\src(
- 运行CMake
- 在CMake UI中,指定其中是源代码(c:\opencv\src(,并且在哪里构建二进制文件(c:\opencv\build(
- 选中分组和高级复选框
- 单击配置。如果CMake请求创建生成文件夹的权限,请允许
- 选择指定此项目的生成器(Visual Studio 16 2019(
- 选择生成器的可选平台(Win32(
- 对于要使用的可选工具集,我将此项留空
- 选择使用默认的本机编译器
- 单击"完成"。CMake将处理几分钟
在这一点上,对我来说,有一个红色的大项目列表,在底部的详细信息区域,除了一些红色的Python错误外,一切都很好。我不在乎Python部分,所以:
- 在上部窗格中,展开BUILD项目
- 取消选中BUILD_opencv_python_bindings_generator
- 取消选中BUILD_opencv_python\utests
再次单击配置。。。等待查看"配置完成"消息。所有的红色都消失了。单击生成并等待看到"生成完成"消息。查看您的生成文件夹。。。打开解决方案'OpenCV.sln'在Visual Studio中打开它,生成Release或Debug。
如果要生成x64版本,请重新开始执行文件->删除缓存,并在生成器的可选平台步骤中选择x64。
- 将应用程序从32位移植到64位时出现问题
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- qmake:检测目标位宽(32 位或 64 位)
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 浮点数为 32 位和 64 位二进制表示形式
- C++易失性:保证 32 位访问?
- C++将 16 位值转换为 32 位值
- 如何在 64 位平台上计算 32 位哈希C++?
- C++中的24位到32位转换
- 在机器字大小等于 32 位的计算机上int64_t如何工作?
- uint32_t如何保证 32 位?
- 将代码从 32 位迁移到 64 位时出现问题 Visual Studio 2010
- 如何将32位字符与内联assembelyc++中的32位字符进行比较
- 一个32位版本的应用程序,建立在CentOS 6 x64上,当在较新的Linux上启动时,在"dl_itera
- x86 32位对Cuda的支持
- 我把我的编译器从32位转换为64位,但我仍然不能使用超过2GB:(为什么
- 如何使用Canny到32位灰度
- 如何忽略32位整数中的特定位
- Clang++的InterlockedExchange的32位调用约定错误,但MSVC可以
- 在node-gip binding.gyp文件中,如何根据系统结构(32位、64位)包含不同的库文件