CMake手工编译Qt5项目笔记
准备:
最简单的Qt窗口程序源代码+CMakeLists.txt
cmake_minimum_required(VERSION 2.8.11)
#define prj name
project(demo11)
# open qt function
# set(CMKAE_PREFIX_PATH 'C:/Qt/Qt5.9.6/5.9.6/mingw53_32')
# set(CMAKE_BUILD_TYPE "Debug") # Debug or Release, same as cmd 'cmake .. -DCMAKE_BUILD_TYPE=Release'
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# set(RESOURCE_DIR resources/res.qrc)
# find qt lib and headers
find_package(Qt5Widgets)
find_package(Qt5Gui)
find_package(Qt5Core)
# find all files
FILE(GLOB SRC_FILES "./*.cpp")
FILE(GLOB HEAD_FILES "./*.h")
FILE(GLOB UI_FILES "./*.ui")
# process ui and moc action
#qt5_wrap_cpp(MOC ${HEAD_FILES})
qt5_wrap_ui(WRAP_FILES ${UI_FILES})
# qt5_add_resources(RCC res.qrc) # ${RESOURCE_DIR}
add_executable(${PROJECT_NAME} ${SRC_FILES} ${HEAD_FILES} ${WRAP_FILES} )
target_link_libraries(${PROJECT_NAME} Qt5::Widgets Qt5::Core Qt5::Gui)
步骤
- 生成对应工具链的配置文件,如Mingw平台(可以使用gui生成)
cd src
mkdir build
cd build
cmake –G"MinGW Makefiles" ..
-
通过cmake构建make环境,如在build文件夹内
cmake ..
-
使用配置好的编译环境编译
(这一步需要确认在当前环境下能找到gcc,ld等编译工具,比如使用VS或者Mingw控制台,或者配置环境变量)
mingw32-make
# mingw 编译nmake
# vs编译
问题
编译出来的exe可正常运行,但是同时也有控制台窗口弹出,应该是哪里的参数需要设置一下。
暂时到此为止。