开发一个项目时用到了第三方公司的SDK,编译时出现该SDK与WINDOWS SDK重定义的错误,如下:
MultiMonitorsWithOpenCVDlg.cpp
e:\cvprojects\multimonitorswithopencv\multimonitorswithopencv\common.h(286) : error C2365: “LP”: 重定义;以前的定义是“typedef”
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(378) : 参见“LP”的声明
第三方的SDK中Lp的定义:
enum VIDEOSIGNAL
{
...
LP = 9,
... 
}WINDOSW sdk中的LP定义如下winnt.h:
typedef LPWSTR LP;环境:XP+VS2008 C++ 基于对话框的程序;
求教各位,这个如何解决呢?

解决方案 »

  1.   


    没有源代码,通过DLL的形式给的,只提供了DLL中对应的lib及头文件;所以查找替换这种方式就不行了~~
      

  2.   

    问题解决了,按照vs2008的错误提示;发现是在winnt中定义了typedef LPWSTR LP;而该定义#ifdef  UNICODE  于#endif 之间,因此将项目的语言改为多字节的。。问题自然解决~~
      

  3.   

    回复于:2012-03-23 19:31:07
    问题解决了,按照vs2008的错误提示;发现是在winnt中定义了typedef LPWSTR LP;而该定义#ifdef UNICODE 于#endif 之间,因此将项目的语言改为多字节的。。问题自然解决~~“将项目的语言改为多字节”,如何修改?