打开Qt 5.12.9 (MinGW 7.3.0 32-bit) 命令窗口
新建CMakeLists.txt 同目录下新建build
mkdir build
cd build
cmake .. -G "MinGW Makefiles"
cmake_minimum_required(VERSION 3.18) # ← 改为 3.12 或更高,才能使用 ZLIB_ROOT
# ===== 方案3:使用 ZLIB_ROOT(最推荐,CMake 3.12+) =====
set(ZLIB_ROOT "F:/barcode_build/zlib_install")
find_package(ZLIB REQUIRED) # 自动搜索 include 和 lib
# 手动指定你本地zlib路径
#set(ZLIB_INCLUDE_DIR "F:/barcode_build/zlib_install/include")
#set(ZLIB_LIBRARY "F:/barcode_build/zlib_install/lib")
# 查找ZLIB库
find_package(ZLIB REQUIRED)
#如果注释了,find_package,ZLIB_FOUND:这些也不会打印的。
#CMAKE安装的时候,自带的,ZLIB.cmake
#find_package,会走ZLIB.cmake,才会展开,运行,建立ZLIB_FOUND 、ZLIB_INCLUDE_DIRS 、ZLIB_LIBRARIES 变量
#find_package(ZLIB REQUIRED) 就是相当于展开ZLIB.cmake
ZLIB_FOUND 是 ZLIB.cmake 创建的。
第三方 .cmake
list(APPEND CMAKE_MODULE_PATH "F:/barcode_build/zint/cmake/modules")
list(APPEND 变量 内容)
# 2. 再查找库
find_package(Zint REQUIRED)
这里只是展开 zint.cmake
# 2. 指定zint安装根目录(bin、include、lib都在这个文件夹下)
set(ZINT_ROOT "F:/barcode_build/zint_install")
# CMakeLists.txt
cmake_minimum_required(VERSION 3.18) # ← 改为 3.12 或更高
project(FindZlibDemo)
message(STATUS "CMake version: ${CMAKE_VERSION}")
# 手动指定你本地zlib路径
set(ZLIB_INCLUDE_DIR "F:/barcode_build/zlib_install/include")
set(ZLIB_LIBRARY "F:/barcode_build/zlib_install/lib")
# 查找ZLIB库
find_package(ZLIB REQUIRED)
# ===== 方案3:使用 ZLIB_ROOT(最推荐,CMake 3.12+) =====
#set(ZLIB_ROOT "F:/barcode_build/zlib_install")
#find_package(ZLIB REQUIRED) # 自动搜索 include 和 lib
# 开启详细日志(可选,查看查找全过程)
set(CMAKE_FIND_DEBUG_MODE OFF)
# 分割线,方便查看
message(STATUS "==================== ZLIB 查找结果 ====================")
# 核心查找状态
message(STATUS "ZLIB_FOUND : ${ZLIB_FOUND}")
# 头文件路径
message(STATUS "ZLIB_INCLUDE_DIR : ${ZLIB_INCLUDE_DIR}")
message(STATUS "ZLIB_INCLUDE_DIRS : ${ZLIB_INCLUDE_DIRS}")
# 库文件路径(静态/动态库)
message(STATUS "ZLIB_LIBRARY : ${ZLIB_LIBRARY}")
message(STATUS "ZLIB_LIBRARIES : ${ZLIB_LIBRARIES}")
# 版本信息
message(STATUS "ZLIB_VERSION : ${ZLIB_VERSION}")
message(STATUS "ZLIB_VERSION_STRING: ${ZLIB_VERSION_STRING}")
# 附加变量(编译选项、调试库等)
message(STATUS "ZLIB_COMPILES : ${ZLIB_COMPILES}")
message(STATUS "ZLIB_HAS_ZLIB_H : ${ZLIB_HAS_ZLIB_H}")
message(STATUS "======================================================")