项目文件如下:
.
âââ 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
我错过什么了吗?这有可能吗?