Opencv2.1.0+VS2008 配置

              上午工作:

              今天接到导师的课题,需要配置一个OpenCv+VS的环境。

              本来配置好了VS2008+opencv2.3.1,后来衔接一个项目对不上,出现的错误提示调用不了opencv2.1.0库函数和链接库。

              于是下载配置好了 VS2008+opencv2.1.0,初步实现了一些功能。

      

              下午工作:

              下午接手另一个项目,可是也是出错误了,

             

              

1>------ 已启动生成项目目标跟踪配置: Debug Win32 ------

1>正在编译...

1>目标跟踪.cpp

1>c:\opencv\build\include\opencv2\flann\logger.h(66) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

1>        d:\program files\microsoft visual studio 9.0\vc\include\stdio.h(237) : 参见“fopen”的声明

1>c:\opencv\build\include\opencv2\flann\flann.hpp(233) : warning C4996: 'cv::flann::Index_<T>': 被声明为已否决

1>        c:\opencv\build\include\opencv2\flann\flann.hpp(278): 参见对正在编译的类模板实例化“cv::flann::Index_<T>”的引用

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(47) : error C2011: “vc_attributes::YesNoMaybe”: “enum”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(47) : 参见“vc_attributes::YesNoMaybe”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(57) : error C2011: “vc_attributes::AccessType”: “enum”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(57) : 参见“vc_attributes::AccessType”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(71) : error C2011: “vc_attributes::Pre”: “struct”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(71) : 参见“vc_attributes::Pre”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(68) : error C3094: “repeatable”: 不允许匿名使用

1>        d:\测试\目标跟踪\目标跟踪\predefined c++ attributes (compiler internal)(147) : 参见“repeatable”的声明

1>        属性只能应用于: 'class', 'struct'

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(102) : error C2011: “vc_attributes::Post”: “struct”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(102) : 参见“vc_attributes::Post”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(99) : error C3094: “repeatable”: 不允许匿名使用

1>        d:\测试\目标跟踪\目标跟踪\predefined c++ attributes (compiler internal)(147) : 参见“repeatable”的声明

1>        属性只能应用于: 'class', 'struct'

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(133) : error C2011: “vc_attributes::FormatString”: “struct”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(133) : 参见“vc_attributes::FormatString”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(145) : error C2011: “vc_attributes::InvalidCheck”: “struct”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(145) : 参见“vc_attributes::InvalidCheck”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(142) : error C3094: “repeatable”: 不允许匿名使用

1>        d:\测试\目标跟踪\目标跟踪\predefined c++ attributes (compiler internal)(147) : 参见“repeatable”的声明

1>        属性只能应用于: 'class', 'struct'

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(155) : error C2011: “vc_attributes::Success”: “struct”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(155) : 参见“vc_attributes::Success”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(166) : error C2011: “vc_attributes::PreBound”: “struct”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(166) : 参见“vc_attributes::PreBound”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(163) : error C3094: “repeatable”: 不允许匿名使用

1>        d:\测试\目标跟踪\目标跟踪\predefined c++ attributes (compiler internal)(147) : 参见“repeatable”的声明

1>        属性只能应用于: 'class', 'struct'

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(176) : error C2011: “vc_attributes::PostBound”: “struct”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(176) : 参见“vc_attributes::PostBound”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(173) : error C3094: “repeatable”: 不允许匿名使用

1>        d:\测试\目标跟踪\目标跟踪\predefined c++ attributes (compiler internal)(147) : 参见“repeatable”的声明

1>        属性只能应用于: 'class', 'struct'

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(186) : error C2011: “vc_attributes::PreRange”: “struct”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(186) : 参见“vc_attributes::PreRange”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(183) : error C3094: “repeatable”: 不允许匿名使用

1>        d:\测试\目标跟踪\目标跟踪\predefined c++ attributes (compiler internal)(147) : 参见“repeatable”的声明

1>        属性只能应用于: 'class', 'struct'

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(198) : error C2011: “vc_attributes::PostRange”: “struct”类型重定义

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(198) : 参见“vc_attributes::PostRange”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(195) : error C3094: “repeatable”: 不允许匿名使用

1>        d:\测试\目标跟踪\目标跟踪\predefined c++ attributes (compiler internal)(147) : 参见“repeatable”的声明

1>        属性只能应用于: 'class', 'struct'

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(235) : error C2370: “SA_Yes”: 重定义;不同的存储类

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(235) : 参见“SA_Yes”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(236) : error C2370: “SA_No”: 重定义;不同的存储类

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(236) : 参见“SA_No”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(237) : error C2370: “SA_Maybe”: 重定义;不同的存储类

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(237) : 参见“SA_Maybe”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(240) : error C2370: “SA_NoAccess”: 重定义;不同的存储类

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(240) : 参见“SA_NoAccess”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(241) : error C2370: “SA_Read”: 重定义;不同的存储类

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(241) : 参见“SA_Read”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(242) : error C2370: “SA_Write”: 重定义;不同的存储类

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(242) : 参见“SA_Write”的声明

1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(243) : error C2370: “SA_ReadWrite”: 重定义;不同的存储类

1>        d:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(243) : 参见“SA_ReadWrite”的声明

1>生成日志保存在“file://d:\My Documents\Desktop\目标跟踪\目标跟踪\Debug\BuildLog.htm”

1>目标跟踪- 25 个错误,个警告

========== 生成成功个,失败个,最新个,跳过==========

碰到这问题,是由于头文件重复包含了所定义的变量或者常量,这点是无容置疑的,那究竟怎么才不会重复包含?我这里的是最简单最直接的方法,只要你在你出现重定义错误的头文件加上这一句:#pragma once 就可以解决了,这一句的意思是告诉编译器,编译过程中以下内容只加载一次,即使出现复杂多嵌套的头文件包含页不会出现重定义,这也是一种良好的变成习惯。如果你没有把变量或者常量定义到头文件(h)而出现以上错误,那根源其实也是一样,只要你把编译错误的全局或者共享变量,常量放到同一个自定义的头文件里,

在// stdafx.cpp : 只包括标准包含文件的源文件
// 目标跟踪.pch 将作为预编译头
// stdafx.obj 将包含预编译类型信息
#include "stdafx.h"


在此文件中引用加上:#pragma once 就可以解决,如下:


编译成功


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值