在 VS2010 开发环境配制 OpenCv2.4.9 常见问题及其解决方法
假如你已经下载并且把 OpenCV 2.4.9 解压到了一个特定的目录中,这里假定你的 OpenCV 2.4.9 被解压到 D: 盘,名字改为 opencv249。 在配制到 VS2010 开发环境中,经常会出现以下问题:
-
error C1083: 无法打开包括文件:“opencv2/opencv.hpp”: No such file
这是因为在工程文件编译时找不到这个文件。需要指定正确的包含路径。
在属性对话框中,选择 C/C++“常规”,编辑“附加包含目录”,把 opencv 的 ”include”路径添加进去。我这里是“D:\opencv249\build\include”。
这里需要注意,源代码里一定带上“include”的下一级目录是“opencv”还是“opencv2”。 -
error LNK1104: 无法打开文件“opencv_core249d.lib”
这是个链接错误。因为工程要链接库文件“opencv_core249d.lib”,但是却找不到它。需要告诉它正确的路径。
在属性对话框中,选择链接器“常规”。添加库目录:“D:\opencv249\build\x86\vc10\lib”到附加库目录里。这里要注意选择 Visual Studio 的版本,还有运行平台。我这里是vc10, x86 平台32位的。平台的选择可以根据你的机器。如果你的机器是 64位的,你可以选择运行32位还是64位。但如果你的机器是32位的,你就只能选择32位的。 -
error LNK1120: 无法解析的外部命令
这是因为在指定的链接库文件目录里,找不到需要包含的库文件。需要在链接器里选择“输入”,在“附加依赖项”里添加需要的 “.lib”文件。比如opencv_core249d.lib,opencv_core249.lib 等。因为在 Windows 中,即使是动态调用 .dll 库,也得在生成可执行文件时链接所需的库 .lib文件。
以上是编译时出现的常见错误。
如果是运行时出现 “Runtime error”, 那是因为没有找到需要的动态链接库文件: .dll。 比较省事一点的是把所需的 .dll 文件拷贝到可执行文件的同一个目录里。如下图: