我正在调试Excel 2010插件,由其他人完成,从WindowsXP 32位转移到Windows 7 64位。
我在XLCALL.CPP文件中遇到编译时错误,该文件是“Microsoft Excel Developer's Toolkit - Version 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结构,因此它不应该查找构造函数/析构函数。错误引用的函数是该文件的本地函数(即未在包含文件中声明)。没有包含其他文件。
感谢您的帮助!
平台:
Windows 7 64位
Excel 2010
MINGW32
CodeBlocks 10.05
答案 0 :(得分:1)
好的,似乎要开发必须与Microsoft产品一起使用的C ++工具,最好的办法是使用Microsoft Visual C ++。
这样做,所有这些问题都消失了。