2012-01-03 74 views
0

我正在调试由其他人完成的Excel 2010插件,从WindowsXP 32位移动到Windows 7 64位。Excel插件错误从WindowsXP 32位移到Windows7 64位

我在XLCALL.CPP文件中得到了编译时错误,这是“Microsoft Excel Developer's Toolkit - 版本14.0”的一部分。

这是错误的代码:

... 
typedef int (PASCAL *EXCEL12PROC) (int xlfn, int coper, LPXLOPER12 *rgpxloper12, LPXLOPER12 xloper12Res); 

HMODULE hmodule; 
EXCEL12PROC pexcel12; 

__forceinline void FetchExcel12EntryPt(void)  // <<< error, line 36 
    { 
     if (pexcel12 == NULL) 
     { 
      hmodule = GetModuleHandle(NULL); 
      if (hmodule != NULL) 
      { 
       pexcel12 = (EXCEL12PROC) GetProcAddress(hmodule, EXCEL12ENTRYPT); 
      } 
     } 
    } 

这是错误消息:

S:\3rdparty\2010 Office System Developer Resources\Excel2010XLLSDK\SRC\XLCALL.CPP|36|error: expected constructor, destructor, or type conversion before 'void' 

我没有关于此错误的可能原因的线索。在XLCALL.H包含文件中没有类定义,只是POD结构,所以它不应该查找构造函数/析构函数。错误引用的函数是该文件的本地文件(即,未在include文件中声明)。没有包含其他文件。

谢谢任何​​帮助!

平台:
的Windows 7 64位
Excel 2010中
MINGW32
代码块10.05

回答

1

好吧,看来开发具有与微软产品合作C++工具,最好的事情是使用Microsoft Visual C++。

这样做,所有这些问题都消失了。