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)

步骤

  1. 生成对应工具链的配置文件,如Mingw平台(可以使用gui生成)
cd src
mkdir build 
cd build
cmake –G"MinGW Makefiles" .. 
  1. 通过cmake构建make环境,如在build文件夹内
    cmake ..

  2. 使用配置好的编译环境编译
    (这一步需要确认在当前环境下能找到gcc,ld等编译工具,比如使用VS或者Mingw控制台,或者配置环境变量)

  • mingw32-make # mingw 编译
  • nmake # vs编译

问题

编译出来的exe可正常运行,但是同时也有控制台窗口弹出,应该是哪里的参数需要设置一下。
暂时到此为止。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐