c++ - 从 Windows XP 32 位迁移到 Windows 7 64 位的 Excel 插件错误

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

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

我在 XLCALL.CPP 文件(“Microsoft Excel 开发人员工具包 - 版本 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
代码块 10.05

最佳答案

好吧,看来要开发必须与Microsoft产品一起工作的C++工具,最好的办法就是使用Microsoft Visual C++。

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

关于c++ - 从 Windows XP 32 位迁移到 Windows 7 64 位的 Excel 插件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8711732/

相关文章:

python - 在没有python的电脑上运行程序

c++ - 在 C++ 中更新静态函数中的非静态成员

c++ - 在Mac上读写USB(HID)中断端点

vba - 使用 End 与 Unload me 关闭表单

vba - Excel VBA - VBA 内的日期和 IF 函数给出错误

grails - Grails GORM MongoDB插件中是否有类似可搜索的search()方法的类似方法?

c++ - 如何在 C++ 中使用 rapidjson 库从 json 格式字符串中获取值

Excel 超链接 - 跳转到单元格并滚动窗口

android - 从应用程序商店获取 cordova 应用程序版本的插件?

javascript - 授予 jQuery 插件访问选定 DOM 对象的权限