CMake创建MFC桌面应用的实现
使用CMake构建MFC桌面应用需安装VS生成工具并勾选C++桌面开发及MFC组件。核心文件为CMakeLists.txt(设置CMAKE_MFC_FLAG=2使用共享MFC库)、mfc.h和mfc.cpp,入口点wWinMainCRTStartup,可生成基础MFC窗口程序。
用 CMake 来构建 MFC 桌面应用,听起来可能有点绕,但其实环境配置和项目结构都不复杂。下面先把依赖装好,再给出完整的代码模板,照着走就能跑起来。
安装
(非必须)VC_redist.x86 和 VC_redist.x64 可以提前装好,下载地址在这里:

(必须)使用 Visual Studio 生成工具安装“C++ 桌面开发”工作负载(所有默认选项保留,不要取消勾选):下载页面
- 如果选择安装 Visual Studio Community,同样勾选“C++ 桌面开发”
- 勾选后,记得在右侧的详细组件中把 MFC 也选上
(非必须)用 CLion 或其他编辑器开发的话,需要在 CMake 中手动指定生成器
- 把默认的 ToolChain 配置为 Visual Studio,CLion 会自动识别已安装的 VS 版本
项目代码
核心是 CMakeLists.txt 文件,内容如下:
cmake_minimum_required(VERSION 3.0)
project(mfc_demo)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8")
# 1: static MFC library, 2: shared MFC library
set(CMAKE_MFC_FLAG 2)
#find_package(MFC)
#if(NOT MFC_FOUND)
# message(FATAL_ERROR "MFC is not found, please check MFC installation")
#endif()
add_executable(mfc_demo mfc.cpp)
#target_sources(mfc_demo PRIVATE
# mfc.cpp
# )
#set_target_properties(mfc_demo PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
target_compile_definitions(mfc_demo PRIVATE
-DWIN32
-D_DEBUG
-D_WINDOWS
-D_UNICODE
-DUNICODE
-D_AFXDLL
)
target_link_options(mfc_demo PRIVATE
/ENTRY:wWinMainCRTStartup
)
然后是头文件 mfc.h:
#ifndef MFC_DEMO_MFC_H #define MFC_DEMO_MFC_H #includeclass MyApp:public CWinApp { public: virtual BOOL InitInstance(); }; class MyFrame:public CFrameWnd { public: MyFrame(); }; #endif //MFC_DEMO_MFC_H
最后是实现文件 mfc.cpp:
#include "mfc.h"
MyApp app;
BOOL MyApp::InitInstance()
{
MyFrame* frame = new MyFrame;
frame->ShowWindow(SW_SHOWNORMAL);
frame->UpdateWindow();
m_pMainWnd = frame;
return TRUE;
}
MyFrame::MyFrame() {
Create(NULL, TEXT("mfc"));
}
把这三个文件放在同一个目录下,用 CMake 配置并生成,就能得到一个最基础的 MFC 窗口应用。注意代码中的 CMAKE_MFC_FLAG 设为 2 表示使用共享 MFC 库,如果希望静态链接改成 1 即可。另外入口点 wWinMainCRTStartup 是 MFC 应用的标准启动方式,不要漏掉。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















