CMake创建MFC桌面应用

CMake创建MFC桌面应用

安装

项目代码

  • CMakeLists.txt (关键
cmake 复制代码
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
cpp 复制代码
#ifndef MFC_DEMO_MFC_H
#define MFC_DEMO_MFC_H

#include <afxwin.h>

class MyApp:public CWinApp {
public:
    virtual BOOL InitInstance();
};

class MyFrame:public CFrameWnd
{
public:
    MyFrame();

};

#endif //MFC_DEMO_MFC_H
  • mfc.cpp
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"));
}
相关推荐
青岛少儿编程-王老师2 小时前
CCF编程能力等级认证GESP—C++5级—20250927
java·数据结构·c++
你的冰西瓜3 小时前
C++动态规划入门指南——助力CSP竞赛夺冠
c++·动态规划
西阳未落5 小时前
LeetCode——双指针
c++·算法
胖咕噜的稞达鸭5 小时前
C++中的父继子承:继承方式实现栈及同名隐藏和函数重载的本质区别, 派生类的4个默认成员函数
java·c语言·开发语言·数据结构·c++·redis·算法
笑口常开xpr5 小时前
【C++】模板 - - - 泛型编程的魔法模具,一键生成各类代码
开发语言·数据结构·c++·算法
AA陈超5 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-01.创建游戏玩法标签
c++·游戏·ue5·游戏引擎·虚幻
笑口常开xpr6 小时前
【C++继承】深入浅出C++继承机制
开发语言·数据结构·c++·算法
代码AC不AC6 小时前
【C++】红黑树实现
c++·红黑树·底层结构
liu****7 小时前
2.c++面向对象(三)
开发语言·c++
linux kernel7 小时前
第二十四讲:C++中的IO流
开发语言·c++