1

我尝试在 Bloodshed Dev-C++ 5.11 中编译以下代码:

BOOL CALLBACK _export DialogStartProc(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam);
BOOL CALLBACK _export DialogRegProc(HWND hDg1, UINT msg, WPARAM wParam, LPARAM lParam);

并得到错误:

... [Error] expected initializer before 'DialogStartProc'
... [Error] expected initializer before 'DialogRegProc'
... C:\Program Files\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\windows.h   In file included from C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include/windows.h

我在带有 TDM-GCC 4.9.2 32 位和 64 位编译器的 Windows XP 32 位和 Windows 8.1 64 位 + Bloodshed Dev-C++ 5.11 中遇到相同的错误。

在我使用 Bloodshed Dev-C++ 4 并编译此代码之前没有任何错误。(使用旧的 GNU GCC-2.95.2 编译器)

在带有 GNU GCC 4.9 编译器的 CODE::BLOCK 中,此代码也可以毫无问题地编译。

可能我必须更改编译器设置?

4

1 回答 1

0

这些错误仅发生在最新的 MinGW-w64 中 - 适用于 32 位和 64 位 Windows 编译器(TDM-GCC 4.9.2 32/64 位)。

我认为新的 winuser.h 文件(最后修改于 2014 年 12 月 7 日 20:48)和相应的 lib 文件中存在错误。

如果可以 - 请告诉 MinGW-w64 的开发人员。

于 2017-09-09T11:05:16.263 回答