c++ - 通过 cmake 将外部静态库与项目链接
问题描述
我对这个 repo 有疑问:https ://github.com/nmoinvaz/minizip 。我按照Build中编写的方式构建它。但是,我不明白,结果应该是什么?静态库或任何包?在图片上,您可以看到由 2 个 cmds 生成的所有文件。
结果我不知道如何将它连接到我的项目。这是我的 CMakeLists.txt。
cmake_minimum_required(VERSION 3.16)
project(MZ2
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++14 -pthread")
include_directories(/home/julian/Desktop/minizip-ng-master)
find_package(minizip 3.0.2 EXACT REQUIRED PATHS /home/julian/Desktop/minizip-ng-master)
add_executable(MZ2 main.cpp)
target_compile_definitions(MZ2 PRIVATE -DHAVE_STDINT_H;-DHAVE_INTTYPES_H;-D_POSIX_C_SOURCE=200112L -DHAVE_ZLIB;-DHAVE_LZMA;-DLZMA_API_STATIC;-DHAVE_ICONV;-DMZ_ZIP_SIGNING;-DHAVE_PKCRYPT;-DHAVE_WZAES)
target_compile_definitions(MZ2 PRIVATE -DHAVE_COMPAT)
target_include_directories(MZ2 PRIVATE /home/julian/Desktop/minizip-ng-master)
target_link_libraries(MZ2 minizip)
结果我有一个错误:
[100%] Linking CXX executable MZ2
/usr/bin/ld: cannot find -lminizip
collect2: error: ld returned 1 exit status
CMakeFiles/MZ2.dir/build.make:83: recipe for target 'MZ2' failed
make[3]: *** [MZ2] Error 1
我知道编译器找不到必要的“minizip”库。那么,在这种情况下我能做些什么呢?
解决方案
推荐阅读
- ruby-on-rails - 在rails中查询嵌套的jsonb哈希
- php - 数组的 Laravel 验证不起作用
- django - Makemigrations 给出 ValueError: too many values to unpack
- filter - ExtJS:如何通过过滤隐藏商店中的特定数据?
- javascript - 在段落中添加多个“阅读更多”链接 (readmore.js)
- python - Python中的dict和list
- angular - Angular 简单指令 ngIf
- reporting-services - SSRS 在数字和字母字符之间插入空格
- c# - 从 SuperPower 中的关键字获取字符串
- ios - 从当前登录的用户 Firebase 中检索数据