我试图通过资源文件将对话框加载到我的 WIN32 应用程序中,但 CMake 抛出语法错误。
我的资源文件中的代码:
#include "resource.h"
IDD_ABOUTDIALOG DIALOG DISCARDABLE 0, 0, 239, 66
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "My About Box"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "&OK",IDOK,174,18,50,14
PUSHBUTTON "&Cancel",IDCANCEL,174,35,50,14
GROUPBOX "About this program...",IDC_STATIC,7,7,225,52
CTEXT "An example program",
IDC_STATIC,16,18,144,33
END
将加载资源的c代码:
int ret = DialogBox(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDD_ABOUTDIALOG), hwnd, AboutDlgProc);
资源头文件:
#ifndef WIN32_RESOURCE_H
#define WIN32_RESOURCE_H
#define IDD_ABOUTDIALOG 101
#endif //WIN32_RESOURCE_H
CMake打印的错误消息:
Resource.rc:3: syntax error
我在 CLION(C11 标准)中使用 MinGW
最佳答案
一般来说,STYLE
窗口样式( WS_
)和对话框样式( DS_
)等参数在系统头文件中定义。
因此,要添加#<windows.h>
在使用这些值之前,您必须 #include
编辑可能的或类似的头文件。
关于c - CMAKE 资源文件中 WINAPI 的对话框资源返回语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56849962/