代码拉取完成,页面将自动刷新
本项目作为第三方库,供其他项目进行源码集成、编译。此项目比较简单,如果需要在项目内调用其他库(库链式调用),请参考《CMake 第三方库编写指南二》
[TOC]
ZTestLib
CMakeLists.txt
ZTestLib.h
ZTestLib.cpp
ZTestLib_global.h
使用CMakeLists.txt模板,在最后面加入target_include_directories描述(指定.h所在目录)即可
cmake_minimum_required(VERSION 3.14)
project(ZTestLib LANGUAGES CXX)
# Qt 自动生成的依赖项
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
# 使用C++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Qt 自动生成的依赖项
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
# 搜索当前目录下的此类型后缀文件
file(GLOB SourceFiles "*.h" "*.cpp")
# SHARED表示编译动态库,STATIC是静态库
add_library(${PROJECT_NAME} SHARED
# 项目集成搜索到的文件
${SourceFiles}
)
# 项目链接库
target_link_libraries(${PROJECT_NAME} PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
)
# 用于ZTestLib_global.h文件中
target_compile_definitions(${PROJECT_NAME} PRIVATE ZTESTLIB_LIBRARY)
# 指定.h所在目录,暴露给其他程序
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include> # <prefix>/include
)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。