【OpenCV】missing ';' before identifier 'PVOID64' (转)

原文转自 http://blog.csdn.net/l5201314131413141314/article/details/7092071

【错误描述】

语法错误 : 缺少“;”(在标识符“PVOID64”的前面)

syntax error : missing ‘;‘ before identifier ‘PVOID64‘

【解决方法】

1、打开winnt.h文件,发现问题就是在winnt.h头文件中无POINTER_64的定义造成的。搜索vc下的头文件,发现在basetsd.h头文件中有POINTER_64的定义,而在winnt.h头文件中也包含了该头文件。而在dxsdk9中也有basetsd.h头文件,而该文件无POINTER_64的定义,因此编译通不过。调整头文件搜索顺序后,编译也不行,原来在VC6目录里也有basetsd.h头文件,而该文件无POINTER_64的定义。可能因为VC6的Include目录在系统变量include里有,所以改变VS中的头文件搜索顺序不能解决问题。最后我把winnt.h中的#include 改成"basetsd.h"就可以了。

2、该问题是由 directdraw 的升级引起的。在网上查了下资料,一般的解决方法是:在winnt.h中加上以下语句

#define POINTER_64 __ptr64

typedef void *PVOID;

typedef void * POINTER_64 PVOID64;

3、个人认为最好不去改winnt.h。

有时需要调整include文件夹的顺序来解决问题,platform SDK中的winnt.h

DDK中的,vc6.0 自带的winnt.h有多个。 dxsdk 中的这些所用到的winnt.h版本不同。

通过调整IDE 工具-> 选项-> 项目vc++目录;包含文件include 的顺序来解决这类问题

使dxsdk需要的winnt.h所在文件夹在最上面。调整后,问题解决!

【OpenCV】missing ';' before identifier 'PVOID64' (转)

时间: 2024-10-12 02:54:56

【OpenCV】missing ';' before identifier 'PVOID64' (转)的相关文章

多个摄像头同步工作【转】

因项目需要采集2个摄像头的数据进行双目检测,一开始采用以下代码来测试: #include "stdafx.h" #include <cv.h> #include <cxcore.h> #include <highgui.h> int main(int argc, _TCHAR* argv[]) { CvCapture* capture1 = cvCreateCameraCapture( 0 ); CvCapture* capture2 = cvCre

typedef与#define的区别

1.  typedef typedef故名思意就是类型定义的意思,但是它并不是定义一个新的类型而是给已有的类型起一个别名,在这一点上与引用的含义类似,引用是变量或对象的别名,而typedef定义的是类型的别名.typedef的作用主要有两点: 1.1  简化复杂的类型声明 简化复杂的类型声明,或给已有类型起一含义明确的别名:如: typedef bool (*FuncPointer)(int, double); //声明了一个返回 bool 类型并带有两个(int和double)形参的函数的指针

winpcap示例程序采用VC6编译时出错error C2054: expected &#39;(&#39; to follow &#39;_W64&#39;

e:\vehiclesecurity\wpdpack_4_1_2\include\pcap-stdinc.h(80) : error C2054: expected '(' to follow '_W64' e:\vehiclesecurity\wpdpack_4_1_2\include\pcap-stdinc.h(80) : error C2085: 'uintptr_t' : not in formal parameter list e:\vehiclesecurity\wpdpack_4_

Windows7 Python-3.6 安装PyCrypto(pycrypto 2.6.1)出现错误以及解决方法

今天准备在Windows系统上基于python3.6安装一个pycrypto 2.6.1模块,很不幸的报了一堆错误,如下所示: running install running build running build_py running build_ext warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. building 'Crypto.Random.OSRNG.winrandom'

string的使用必须在C++的标准编程之下

总结: 在C语言当中是有字符串类型(使用字符数组表示),却没有字符串类,当然了字符串类型也不是C++的基本数据类型,但是通过包含#include<string>头文件调用C++标准库中声明的一个字符串类,可以定义一个字符串对象 笨蛋:#include<iostream.h> 声明的是一个C语言格式的文件,当然无法编译具有string类型的文件,即使包含#include<string>头文件 强烈建议对照修改前和修改后的头文件 #include<iostream.h

今天逛VC驿站 的收获

1.C++ 如何定义一个定长字符串, 若不足位数,就补字符串"0"? eg: CString str1 = “123”;不足20位,前面补“0”,实现效果为“00000000000000000123” answer: str.Format(_T("%020s"),_T("aaa")); 2.vs2010建的单文档程序如何隐藏菜单栏? answer: 这个是MFC标准的单文档,可以哦.不知道你选的是什么类型的单文档 然后这个是Visucal Stu

Squid服务端配置遇到的问题(80/443)

这几天因公司需要研究了一下squid,要求squid支持ssl,主要遇到的问题在配置https_port上,下面是遇到的问题和解决办法,解决办法不一定适用于你的环境但是可以参考:),请大家给出宝贵意见. 1>发生了下列的错误: Invalid Request 无效的请求 Some aspect of the HTTP Request is invalid. Possible problems: HTTP 请求的某些方面是无效的.可能是下列问题: Missing or unknown reques

VS2005 学习记录3-移植处理

点滴记录学习VS2005过程所遇到的问题,及解决方法 1.将EVC4的工程转化成.net2005时要将工程的属性中的c/c++->代码生成->运行时库改为:多线程DLL(/MD) 2.在工程的属性中的链接器->高级->入口点改为:WinMainCRTStartup 3.WINVER      not      defined.      Defaulting      to      0x0501,问题原因:在工程的属性c/c++->预处理器->预处理器定义中加上_WI

查看3.x NewLabelApi 笔记

Label 自适应宽度 setmaxLineWidth label->setMaxLineWidth(labelWidth); setDimensions(unsigned int width,unsigned int height) 这个也是修改maxLineWidth 旋转,跳动的字符,使用fnt创建的字符串,可以通过getLetter获取到某个字符,然后执行action即可 auto label = Label::createWithBMFont("fonts/bitmapFontT