qt 工程CMakeLists.txt

本文详细介绍如何使用CMake配置Qt项目,包括设置Qt路径、项目名称、自动生成开关、查找Qt库、资源文件处理及目标属性设置。适用于希望了解CMake与Qt集成流程的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cmake_minimum_required(VERSION 3.13)

#指定Qt路径(按需设置)
#SET(CMAKE_PREFIX_PATH C:/Qt/Qt5.7.0/5.7/msvc2013//lib/cmake)
#list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

#设置sln名称
project(qtlearn)
# 关闭控制台 :+ WIN32
set(QT_USE_QTMAIN TRUE) 
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON) 
# 自动生成开关
set(CMAKE_AUTOMOC ON) 
#set(CMAKE_AUTOUIC ON) 
#set(CMAKE_AUTORCC ON) 		
# 查找lib
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)

# 查找 source
set(src_dir .)
foreach(dir ${src_dir})
	string(TOUPPER "${dir}" dir_u)			
	file(GLOB ${dir_u}_UI_FILES ${dir}/*.ui)
	file(GLOB ${dir_u}_H_FILES ${dir}/*.h)
	file(GLOB ${dir_u}_CXX_FILES ${dir}/*.cpp)	
	list(APPEND UI_FILES ${${dir_u}_UI_FILES})		
	list(APPEND SRCS_FILES ${${dir_u}_CXX_FILES})
	list(APPEND HEADER_FILES ${${dir_u}_H_FILES})
endforeach(dir ${src_dir})

# 自动生成的 mocs_compilation.cpp 包含所有配置的moc_*.cpp		
# ui_*.h 文件,需放置在find_package之后(Unknown CMake command "QT5_WRAP_UI")
if(UI_FILES)
	qt5_wrap_ui( UIC_SRCS ${UI_FILES}) 
endif()

# qrc_*.cpp 文件 
file(GLOB RESOURCE_FILES *.qrc)
if(RESOURCE_FILES)
	qt5_add_resources(RCC_SRCS ${RESOURCE_FILES}) 
endif()

# 添加 source
add_executable(${PROJECT_NAME} WIN32
				${SRCS_FILES}
				${HEADER_FILES}
				${UIC_SRCS}  # 添加此选项会生成 xxx_autogen 工程 
				#${UI_FILES} # 和${UIC_SRCS} 二选一
				${RCC_SRCS})
				
# 依赖
target_link_libraries(${PROJECT_NAME} 
				Qt5::Core	
				Qt5::Gui
				Qt5::Widgets			
				)	
				
# Filter 设置				
source_group("Form Files" FILES ${UI_FILES})
source_group("Generated Files" FILES ${UIC_SRCS} ${RCC_SRCS} )
source_group("Resources" FILES ${RESOURCE_FILES})

# 运行环境
set(RUN_ENVIROMENT $(QTDIR)/bin%3b)					
set_target_properties(${PROJECT_NAME}   PROPERTIES
	VS_DEBUGGER_ENVIRONMENT "PATH=${RUN_ENVIROMENT}$(PATH)")

  • 关闭autogen工程设置
#1、使用如下设置,2、取消CMAKE_AUTOMOC 3、不使用qt5_wrap_ui等  
set_target_properties(${PROJECT_NAME} PROPERTIES 
    AUTOMOC ON
    AUTORCC ON
    AUTOUIC ON)
好的,Qt Creator 是一个强大的集成开发环境 (IDE),主要用于创建 Qt 应用程序。而 CMakeLists.txt 文件则是用于配置 CMake 构建系统的文本文件。 ### 使用 Qt Creator 和 CMake 导出 .exe 可执行文件 #### 步骤一:设置项目 1. **打开 Qt Creator** 并加载或新建你的项目。 2. 确保项目的构建系统是 `CMake` 而不是 qmake 或其他工具。 #### 步骤二:编写并维护 CMakeLists.txt 为了成功生成 `.exe` 文件,在 `CMakeLists.txt` 中你需要确保包含正确的指令: ```cmake # 最低版本需求 cmake_minimum_required(VERSION 3.5) # 设置项目名称 project(MyProject VERSION 0.1 LANGUAGES CXX) # 查找 Qt 模块 find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets) # 添加源码目录及头文件路径 set(CMAKE_CXX_STANDARD 17) add_executable(${PROJECT_NAME} main.cpp) # 根据实际情况调整main文件位置和其他需要添加的cpp/hpp文件 target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets) if(WIN32) set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".exe") endif() ``` 上述是一个基本的例子,并根据实际使用的库、模块等进行相应的修改。 #### 步骤三:选择合适的构建套件和模式 在 Qt Creator 的左下角有“Build Kit”选项,这里可以选择不同的编译器和平台组合。通常对于 Windows 用户来说,默认就是 MinGW 或 MSVC 工具链之一;如果你希望发布给更多用户,则可以考虑静态链接所有依赖项。 另外,记得切换到 Release 模式而非 Debug 来获得更小体积和更好性能的应用程序。 #### 步骤四:运行构建过程 点击绿色三角形按钮或者通过菜单栏中的 "Build" -> "Rebuild All" 完成整个工程的一次全新构建流程,此时会在指定输出目录下找到新产生的 `.exe` 文件。 如果一切顺利的话,现在你应该能够在 build-output 目录看到生成的目标`.exe`了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值