在VC6中,使用SolidWorks二次开发向导生成的工程(c++),在VS2005可直接编译通过,在VS2008中,无法编译通过。
解决方法:
stdafx.h中
_WIN32_WINNT 0x0400改为_WIN32_WINNT 0x0500在#include
<afxwin.h>前添加:
#if _MSC_VER >= 1500
#define __IEntity_INTERFACE_DEFINED__
#endif在import
Solidworks各个tlb之后,添加:#if _MSC_VER >= 1500
#undef __IEntity_INTERFACE_DEFINED__
#endif
本文详细介绍了在将使用SolidWorks二次开发向导生成的工程从VC6迁移到VS2008时遇到的编译问题,以及解决这些问题的方法。主要包括在stdAfx.h文件中修改_WIN32_WINNT宏为_WIN32_WINNT0x0500,并在包括afxwin.h之前添加条件宏来定义和取消定义__IEntity_INTERFACE_DEFINED__,确保代码在不同版本的Visual Studio中都能顺利编译。
629

被折叠的 条评论
为什么被折叠?



