Excel插件错误从Windows XP 32位移动到Windows 7 64位

时间:2012-01-03 11:39:02

标签: c++ excel plugins windows-7 windows-xp

我正在调试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

1 个答案:

答案 0 :(得分:1)

好的,似乎要开发必须与Microsoft产品一起使用的C ++工具,最好的办法是使用Microsoft Visual C ++。

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