代码之家  ›  专栏  ›  技术社区  ›  Fluffy

VisualStudio中的CMake MFC项目缺少资源编辑器

  •  0
  • Fluffy  · 技术社区  · 6 年前

    项目文件如下:

    .
    ├── CMakeLists.txt
    ├── inc
    │   ├── <...>
    │   ├── resource.h
    ├── res
    │   ├── MyApp.ico
    │   ├── MyApp.rc
    │   └── MyApp.rc2
    └── src
        ├── CMakeLists.txt
        └── <...>
    

    顶级CMakeLists.txt:

    cmake_minimum_required(VERSION 3.5)
    project(MyProject)
    
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    set(CMAKE_CXX_STANDARD 14)
    if (MSVC)
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /we4715") # makes missing return as error
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")     # parallel build
    endif()
    set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/output)
    
    # MFC
    add_definitions(-D_AFXDLL)
    set(CMAKE_MFC_FLAG 1)
    
    add_subdirectory(src)
    

    src CMakeLists.txt文件:

    include_directories(${CMAKE_SOURCE_DIR}/inc)
    include_directories(${CMAKE_SOURCE_DIR}/res)
    include_directories(${CMAKE_SOURCE_DIR})
    
    set(SOURCES
            <...>
            )
    
    set(HEADERS
            <...>
            )
    
    add_executable(
        ${PROJECT_NAME}
        WIN32 
        ${SOURCES}
        ${HEADERS}
        ${CMAKE_SOURCE_DIR}/res/MyApp.rc
        ${CMAKE_SOURCE_DIR}/res/MyApp.rc2
        )
    
    install(TARGETS MyApp
            RUNTIME DESTINATION .)
    

    在visualstudio(Pro)中,这个项目可以很好地加载,并且可以为我需要的每个配置编译,但是如果我尝试打开一个.rc文件,就会在MFC和ATL中出现缺少头的错误( afxres.h winres.h , dde.rh

    我错过什么了吗?这有可能吗?

    0 回复  |  直到 6 年前