我在研究三维鼠标的sdk,它的demo程序能够调通,不需要安装microsoft SDK,而我的程序,在View类窗口中添加了#include "si.h " 之后编译就报错
出现如下信息:
ERROR: an OS type must be defined -- e.g. OS_WIN32
c:\program files\3dconnexion\3dxware sdk\inc\si.h(41) : error C2143: syntax error : missing '; ' before 'constant '
……
请教高手,该如何解决? si.h文件部分内容如下:
#ifndef _SI_H_
#define _SI_H_ static char incFileNameCvsId[]= "(C) 1996 Spacetec IMC Corporation: $Id: si.h,v 1.22 1998/03/12 11:07:03 mfarr Exp $ "; #include "spwmacro.h "
#include "spwdata.h " #ifdef OS_DEFINED
#undef OS_DEFINED
#endif #ifdef OS_WIN32
#define OS_DEFINED
#include <windows.h>
#endif #ifndef OS_DEFINED
#ifdef WIN32
#pragma message ( "ERROR: an OS type must be defined -- e.g. OS_WIN32 ")
#endif
ERROR: an OS type must be defined -- e.g. OS_WIN32
#endif #include <stdio.h>
#include "spwerror.h " /*
* UI modes
*/
#define SI_UI_ALL_CONTROLS 0xffffffffL
#define SI_UI_NO_CONTROLS 0x00000000L
出现如下信息:
ERROR: an OS type must be defined -- e.g. OS_WIN32
c:\program files\3dconnexion\3dxware sdk\inc\si.h(41) : error C2143: syntax error : missing '; ' before 'constant '
……
请教高手,该如何解决? si.h文件部分内容如下:
#ifndef _SI_H_
#define _SI_H_ static char incFileNameCvsId[]= "(C) 1996 Spacetec IMC Corporation: $Id: si.h,v 1.22 1998/03/12 11:07:03 mfarr Exp $ "; #include "spwmacro.h "
#include "spwdata.h " #ifdef OS_DEFINED
#undef OS_DEFINED
#endif #ifdef OS_WIN32
#define OS_DEFINED
#include <windows.h>
#endif #ifndef OS_DEFINED
#ifdef WIN32
#pragma message ( "ERROR: an OS type must be defined -- e.g. OS_WIN32 ")
#endif
ERROR: an OS type must be defined -- e.g. OS_WIN32
#endif #include <stdio.h>
#include "spwerror.h " /*
* UI modes
*/
#define SI_UI_ALL_CONTROLS 0xffffffffL
#define SI_UI_NO_CONTROLS 0x00000000L
#ifdef WIN32
#pragma message ( "ERROR: an OS type must be defined -- e.g. OS_WIN32 ")
#endif
ERROR: an OS type must be defined -- e.g. OS_WIN32
#endif
#ifndef OS_DEFINED 如果没有定义OS_DEFINED
#ifdef WIN32 如果定义了WIN32#pragma message ( "ERROR: an OS type must be defined -- e.g. OS_WIN32 ")
#endif 在项目里
#defined OS_WIN32
我定义了后开始出现这种错误
3DMouse.obj : error LNK2001: unresolved external symbol _SiTerminate一共13个错误跟32个警告