VS(Visual Studio 2012)编译生成OpenCV-64位程序时提示:无法打开包括文件:“opencv2/core/core.hpp”
Posted 昊虹图像算法
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS(Visual Studio 2012)编译生成OpenCV-64位程序时提示:无法打开包括文件:“opencv2/core/core.hpp”相关的知识,希望对你有一定的参考价值。
随着计算机技术的发展,64位的程序越来越多。
我们在用OpenCV开发图像处理程序时也应顺流潮流,将程序编译成64位的。
OpenCV为我们用CMake编译好的build文件中,也提供了64位的bin、lib和staticlib文件,如下面的截图所示:
所以我们可以尝试将我们的OpenCV程序成生64位的程序。
VS新建的解决方案(项目)是32位的,要想将其改成64位,需要在解决方案新建成功后,在解决方案中设置。
下面的截图记录了从新建解决方案到设置生成64位程序的过程:
从上面的截图中我们可以看出,VS在新建项目时是没有64位程序的相关选项的,我们只有在新建好这个解决方案后才能进行生成64位程序的相关设置。
)
点击上图的完成之后的界面如下:
接下来我们来配置用VS生成64位程序。
据说,这样配置之后便可以用VS生成64位的exe程序了。
我们看下是不是这样。
为了生成OpenCV编写的图像处理程序,我们还需要配置include路径、库文件路径和链接器的输入附加依赖项,如下图所示:
包含目录:
E:\\Program Files\\OpenCV3.0\\build\\include
E:\\Program Files\\OpenCV3.0\\build\\include\\opencv
E:\\Program Files\\OpenCV3.0\\build\\include\\opencv2
库目录:
E:\\Program Files\\OpenCV3.0\\build\\x64\\vc11\\lib
从这个路径可以看出,我用的是64位的库了。
链接器的输入附加依赖项:
opencv_ts300d.lib
opencv_world300d.lib
配置好之后我们把以下的测试代码复制粘帖到解决方案中:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp>
#include <opencv2/imgproc/imgproc.hpp>
int main()
// 读取源图像并转化为灰度图像
cv::Mat srcImage = cv::imread("flower.jpg");
// 判断文件是否读入正确
if (!srcImage.data)
return 1;
// 图像显示
cv::imshow("srcImage", srcImage);
// 等待键盘键入
cv::waitKey(0);
return 0;
然后按F7编译,就出现了标题中的问题:
1>V-001-03.cpp(1): fatal error C1083: 无法打开包括文件:“opencv2/core/core.hpp”: No such file or directory
难道自己的配置没有保存?检测一下,截图如下:
可见是生效了的~
难道是“E:\\Program Files\\OpenCV3.0\\build\\include\\opencv2\\core\\”下不存在文件“core.hpp”?
可见是存在的。
我们按切换到32位平台上,并配置好include路径、库文件路径和链接器的输入附加依赖项,如下图所示:
再按F7编译,没有问题,如下图所示:
然后博主就不知道怎么解决“VS(Visual Studio 2012)编译生成OpenCV-64位程序时提示:无法打开包括文件:“opencv2/core/core.hpp””这个问题了…
有知道原因的朋友可以在这篇博文下方留言,也可以给我私信,也可以加我微信/QQ 2487872782,博主有偿收解决办法。
以上是关于VS(Visual Studio 2012)编译生成OpenCV-64位程序时提示:无法打开包括文件:“opencv2/core/core.hpp”的主要内容,如果未能解决你的问题,请参考以下文章
如何在Visual Studio和CodeBlocks中反编译C++代码
在 VS 2012 (C++) 中编译 Visual Studio 2010 项目:错误 LNK2038:检测到“_MSC_VER”不匹配:值“1600”与值“1700”不匹配
Visual Studio 在转换为 2013 的项目上使用较旧的 2012 编译器
使用 Visual Studio 2012 的编译器为 Windows XP 制作 Qt 应用程序
VS(Visual Studio 2012)编译生成OpenCV-64位程序时提示:无法打开包括文件:“opencv2/core/core.hpp”