我一直在尝试在Windows 7 for C / C上为Visual Studio 2010安装OpenCV(版本2.4.1和2.4.2) .
我一直在关注本教程:http://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html
我跳过安装第三方软件(除了python 2.7和zlib从这里:http://gnuwin32.sourceforge.net/packages/zlib.htm) .
我运行cmake,然后从openCV构建目录中打开openCV.sln,等待visual studio加载然后构建它 . Visual Studio提供了200个错误,这些错误只是以下两次重复多次:
错误C1083:无法打开包含文件:'unistd.h':没有这样的文件或目录错误LNK1104:无法打开文件'.... \ lib \ Debug \ opencv_core241d.lib'
“OpenCV构建目录”/ bin / Release不包含任何* .exe文件,只有大量* .pdb文件,其中我可以看到contours.pdb . 教程说我应该在那里看到contours.exe .
由于没有* .exe文件,我理解在构建过程中遇到的两个错误是至关重要的 . 我会很感激能帮助我解决问题的任何想法 .
3 回答
以下对构建步骤的解释应该可以帮助您构建它:
安装cmake - 这是所有平台都需要的
cd进入解压缩的目录并创建一个名为release(或任何其他名称)的新目录
从此目录中运行
cmake ..
您应该在发布目录中找到 OpenCV.sln 文件 .
使用Visual Stuido打开它并运行构建 .
继续享受Opencv
我也遇到了一些困难 - 文档只是略微过时了 .
此解决方案基于本教程:http://opencv.willowgarage.com/wiki/VisualC%2B%2B_VS2010_CMake
以下是我使用Visual C 2010 Express获取opencv 2.4.2 hello world示例的确切步骤:
Grab the source code
下载opencv .
将opencv解压缩到C:\
Building the binaries
下载cmake . 打开cmake gui ..
源代码在哪里:C:/ opencv
在哪里构建二进制文件:C:/ opencv / build
单击“配置” - 为生成器选择“Visual Studio”10单击“生成” .
在C:\ opencv \ build中,您现在应该看到OpenCV.sln .
使用VS C Express打开解决方案文件并构建它 .
Setting up the hello world project
在VS中创建一个新项目 . 选择控制台应用程序并勾选预编译的 Headers . 右键单击解决方案文件,然后选择属性 .
在VC目录窗口中,添加以下内容:
包含目录:C:\ opencv \ build \ include; C:\ opencv \ build \ include \ opencv; C:\ opencv \ build \ include \ opencv2
库目录:C:\ opencv \ build \ lib \ Debug
源目录:C:\ opencv \ build \ include
在C - > Linker - > Input中,将以下内容添加到Additional Dependencies:
Hello World Content
将教程中建议的内容更改为:
将图像(或任何图像)放在项目目录中 .
现在构建并点击Debug,它应该工作 . 希望这有助于某人 .
我不能发表评论所以我必须作为答案 .
@ go4sri我按照你所说的并用Visual Studio 2010编译OpenCV但我不知道如何配置属性文件以及放在Library目录中的文件夹,包含目录......我需要一些帮助 .
目前我放了:
Include目录中的C:\ opencv \ build \ include
库目录中的C:\ opencv \ Release \ lib \ Debug . (我构建到Release文件夹中)
但我得到了未解决的外部符号 .
编辑1:
我通过在输入链接器 - > input->附加依赖项中添加.lib来解决问题,但现在我有另一个问题 . 它告诉我它找不到dll opencv_core242d.dll .
编辑2:
将所有dll放在发行版(用于发布)或调试(用于调试dll)中解决问题,但我不明白为什么我必须这样做 . 它找不到自己在哪里?