vs2019配置opencv,编译成功后仅生成install的时候报错
你的系统也许是x64的
于Solution Explore中右键"test",点击Properties。(64位系统先如此设置,点击Configuration Manager,在Active solution platform中拉选New,拉选X64),此时分别有Debug/Release和X64/win32两个下拉选项,共四个状态(X64和win32各按所处平台配置Debug/Release两个状态)。
做opencv和vs2019配置时这块哪错了?
环境配置错误只要检查三个部分:包含目录,库目录,链接器(里面lib文件名)即可。
如何让opencv在vs中的配置变成属性文件
摘要:在VS2010环境中应用Opencv,网上找到了很多配置方法,但大多都是老版本的,很多新手面对最新版本的Opencv无从下手,就给新手童鞋写了这么一篇超级详细的配置攻略,贴上来共享。要强调一点的就是,这种配置方法里使用的Opencv库是直接安装Opencv时候自带的dll库,在你的VS里面是无法调试Opencv的。如果需要调试Opencv,必须应用自己编译出来的Opencv库,具体怎么编译自己的Opencv库,网上有很多例子,再此不再赘述。
1、下载软件
下载OpenCV-2.4.0,双击解压到%opencv%(凡是出现%opencv%的地方均替换为你自己opencv的路径全名,如D:\program\opencv)。
下载VS2010,安装。
2、配置OpenCV环境变量
计算机-(右键)属性-高级系统设置-高级(标签)-环境变量-(双击)path(用户,系统里面的path任选其一)-在变量值里面添加” %opencv%\build\x86\vc10\bin”和”%opencv%\build\common\tbb\ia32\vc10”(里面的%opencv%记得换成自己的opencv路径。例如我的:D:\program\ifly\bin;D:\Program Files (x86)\opencv\build\x86\vc10\bin;D:\Program Files (x86)\opencv\build\common\tbb\ia32\vc10)。
3、配置工程的opencv依赖(每次新建工程都要重新配置,要执行此步骤请先跳到第4步建立工程)
1)、项目(菜单项)-…属性-VC++目录:需要配置“包含目录”和“库目录”两项。
2)、配置“包含目录”项:添加行”%opencv%\build\include”即可。
但在运行别人的opencv项目时,可能别人直接引用了上述目录的子目录路径,如果出现include错误,则再添加”%opencv%\build\include\opencv”和(或)”%opencv%\build\include\opencv2”,即可解决问题。
3)、配置“库目录”项:添加行”%opencv%\build\x86\vc10\lib”即可。
4)、配置连接器:项目(菜单项)-…属性-连接器-输入-附加依赖项
针对debug配置添加以下库:
opencv_calib3d240d.lib
opencv_contrib240d.lib
opencv_core240d.lib
opencv_features2d240d.lib
opencv_flann240d.lib
opencv_gpu240d.lib
opencv_highgui240d.lib
opencv_imgproc240d.lib
opencv_legacy240d.lib
opencv_ml240d.lib
opencv_objdetect240d.lib
opencv_ts240d.lib
opencv_video240d.lib
如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加:
opencv_calib3d240.lib
opencv_contrib240.lib
opencv_core240.lib
opencv_features2d240.lib
opencv_flann240.lib
opencv_gpu240.lib
opencv_highgui240.lib
opencv_imgproc240.lib
opencv_legacy240.lib
opencv_ml240.lib
opencv_objdetect240.lib
opencv_ts240.lib
opencv_video240.lib
4、用VS2010新建控制台工程测试:
1)、文件-新建-项目-Visual C++-Win32 控制台应用程序(输入名称test)
2)、确定-下一步-附加选项选“空项目”-完成
3)、解决方案资源管理器-源文件(右键)-添加-新建项
4)、Visual C++-C++文件:输入名称test点添加
5)、粘贴下面的代码,保存
复制代码
1 #include opencv2\opencv.hpp
2 #include iostream
3 #include string
4 using namespace cv;
5 using namespace std;
6 int main()
7 {
8 Mat img = imread("pp.jpg");
9 if(img.empty())
10 {
11 cout"error";
12 return -1;
13 }
14 imshow("xx的靓照",img);
15 waitKey();
16
17 return 0;
18 }
复制代码
6)、把自己的靓照改名为pp.jpg,然后放到工程项目的test文件夹里面(是里面那个test文件夹)
7)、按照第3步骤的方法配置工程的opencv依赖。
8)、按F5,如果你的图片出来了就OK了。
怎么在vs2019里面永久装opencv
之前的VS版本我记得可以在C++全局属性设置里面去设置,设置之后以后的每个C++项目都会自动包含opencv环境,现在找不到了,我现在使用的是一个包管理器,vcpkg,使用vcpkg安装opencv,然后将vcpkg的包设置到全局,这样vcpkg安装的所有包都可以在vs环境下使用,使用时不需要额外配置环境,不仅opencv可以,其他的开源库也可以
VS2013怎么配置opencv才能不用每次都重新配置一遍
说白了就是将VS第一次配置OpenCV的项目属性表保存下来,每次新建项目时引用即可。
目录
解压OpenCV
配置系统环境变量
创建VS新项目
添加项目属性表
配置项目属性表
引用项目属性表
声明:
以
下展示内容,配置方案为OpenCV2.4.9+VS2013+win10+x64,但方法适用于OpenCV2.4.8、OpenCV2.4.9、
OpenCV2.4.10,适用于win7、win8.1、win10,适用于x64和x84(下面会讲解如何对应修改)。如果问为什么适用?因为我都试
过啊~
会一次性配置的知友请直接看第四部分和第六部分,因为其余部分跟一次性配置是一样的。
一、解压OpenCV
比如本人解压在G盘根目录下
二、配置系统环境变量
打开“系统属性”,点击“环境变量”
双击Path的值部分
填上OpenCV的bin路径
注意:
1、此时电脑最好重启下。
2、如果你的应用程序是win32控制台应用程序,则选择x32的路径;如果你的应用程序是win64控制台应用程序,则选择x64的路径。(感谢 @吴信仰 的指正和解惑。)
3、vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。
三、创建VS新项目
四、添加项目属性表
“视图”打开“属性窗口”
右击“Debug|Win32”点击“添加新项目属性表”(如果想在Release模式下使用OpenCV,右击Release|Win32,同理可得)
给属性表命名
五、配置项目属性表
双击创建的属性表
5.1添加包含目录
5.2添加附加库目录
注意:
1、如果你的应用程序是win32控制台应用程序,则选择x32的路径;如果你的应用程序是win64控制台应用程序,则选择x64的路径。
2、vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。
5.3添加附加依赖项
附加依赖项如下:
opencv_imgproc249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib
注意:
1、249对应OpenCV2.4.9,其他版本做对应修改。
2、后缀d代表Debug模式,如果是Release模式去掉d。依个人情况选择Debug模式或者Release模式。
六、引用项目属性表
打开项目目录,你会看到如下文件
以后新建项目时,打开属性管理器,右击Debug|Win32选择添加现有属性表上述文件即可。
========================
以上,应该算VS一次配置永久使用OpenCV了^ ^
编辑于 2016-05-13
12 条评论
感谢
分享
收藏
•
没有帮助
•
举报
•
作者保留权利
ZZ Chris
,在野武将
18 人赞同
不同意vczh的做法,遇到需要切换opencv版本的情况太麻烦。
请认准属性表,一次编写,到处使用,系统环境变量你都不需要设定,所有设定都写在属性表文件中,用的时候在vs里导入属性表。如果要切换opencv版本,只修改opencv编译输出目录就可以了。
比如OpenCV3.0版的,可以命名为opencv300.props:
?xml version="1.0" encoding="utf-8"?
!--
OpenCV 3.0.0属性表文件
不用单独配置环境变量OpenCV
也不用单独在系统PATH上添加OpenCV可执行路径
只需要在VisualStudio-"菜单"-"视图"-"属性管理器"中添加现有属性表,添加本文件
使用前请将下面的OpenCVRoot修改为你的OpenCV编译输出目录
--
Project ToolsVersion="4.0" xmlns=""
ImportGroup Label="PropertySheets" /
PropertyGroup Label="UserMacros" /
PropertyGroup
!-- 请把OpenCVRoot属性的值替换为你的OpenCV编译输出的目标目录,它包含x64、x86这样的子目录 --
OpenCVRootD:\lib\opencv300\build/OpenCVRoot
!-- 指定INCLUDE路径--
IncludePath$(OpenCVRoot)\include;$(IncludePath)/IncludePath
!-- 指定链接所需lib目录--
LibraryPath Condition="'$(Platform)'=='Win32'"$(OpenCVRoot)\x86\vc12\lib;$(LibraryPath)/LibraryPath
LibraryPath Condition="'$(Platform)'=='X64'"$(OpenCVRoot)\x64\vc12\lib;$(LibraryPath)/LibraryPath
!-- 保证系统处于Debug模式时,可以使用相对路径读取源代码目录下的文件,比如"lena.jpg"而不必是"d:/work/test/test/lena.jpg" --
LocalDebuggerWorkingDirectory$(ProjectDir)/LocalDebuggerWorkingDirectory
DebuggerFlavorWindowsLocalDebugger/DebuggerFlavor
!-- 让系统PATH临时包含指定的dll目录 --
LocalDebuggerEnvironment Condition="'$(Platform)'=='Win32'"PATH=%PATH%;$(OpenCVRoot)\x86\vc12\bin/LocalDebuggerEnvironment
LocalDebuggerEnvironment Condition="'$(Platform)'=='X64'"PATH=%PATH%;$(OpenCVRoot)\x64\vc12\bin/LocalDebuggerEnvironment
/PropertyGroup
!-- 以下是程序需要加载的lib文件。--
ItemDefinitionGroup
Link Condition="'$(Configuration)'=='Debug'"
AdditionalDependenciesopencv_ts300d.lib;opencv_world300d.lib;%(AdditionalDependencies)/AdditionalDependencies
/Link
Link Condition="'$(Configuration)'=='Release'"
AdditionalDependenciesopencv_ts300.lib;opencv_world300.lib;%(AdditionalDependencies)/AdditionalDependencies
/Link
/ItemDefinitionGroup
ItemGroup /
/Project