Excel插件错误从WindowsXP 32位移到Windows7 64位
问题描述:
我正在调试由其他人完成的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
答
好吧,看来开发具有与微软产品合作C++工具,最好的事情是使用Microsoft Visual C++。
这样做,所有这些问题都消失了。