QT工程采用cmake脚本构建
例子:
make_minimum_required(VERSION 3.1.0) // 指定cmake的最低版本
#set(CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc") // # 表示 注释 后面的 内容
set(CMAKE_CXX_COMPILER "/usr/bin/g++") // 指定 编译器
set(CMAKE_PREFIX_PATH ${QT_PATH}/lib/cmake) // 整合QT与cmake的环境变量
SET(CMAKE_INCLUDE_CURRENT_DIR ON) // cmake 包含的当前目录为打开
add_definitions("-Wall -g") // 指定 -g 参数编译 可用于valgrind查看内存泄漏
set(CMAKE_PREFIX_PATH "/home/lk475546280/Qt5.9.3/5.9.3/gcc_64") // 指定QT的编译器路径
set(Qt5_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5") // 包含工程中用到的模块
set(Qt5Widgets_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Widgets")
set(Qt5Network_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Network")
set(Qt5Multimedia_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Multimedia")
set(Qt5Sql_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Sql")
add_definitions(-w)
add_definitions(-DHAVE_CONFIG_H) // 工程中的条件编译
project(TBcabinet) // 工程名称
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
FILE(GLOB SRC_FILE "./*.cpp")
FILE(GLOB HEAD_FILE "./*.h")
FILE(GLOB UI_FILE "./*.ui")
FILE(GLOB QR_SRC_FILE "./qrencode/*.c")
FILE(GLOB QR_HEAD_FILE "./qrencode/*.h")
set(RESOURCES_DIR TBcabinet.qrc)
find_package(Qt5 COMPONENTS Widgets Multimedia Network Sql REQUIRED)
add_executable(userView ${SRC_FILE} ${HEAD_FILE} ${QR_SRC_FILE} ${QR_HEAD_FILE} ${UI_FILE} ${RESOURCES_DIR})
target_link_libraries(userView libsqlite3.so) // 连接库
target_link_libraries(userView Qt5::Widgets Qt5::Multimedia Qt5::Network Qt5::Sql)
以上面的为例子,其他工程类比,即可编写CMakeLists.txt文件