Используйте Cmake fetchContent_declare Зависимость внешних библиотекC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Используйте Cmake fetchContent_declare Зависимость внешних библиотек

Сообщение Anonymous »

Я работаю над проектом на основе QT6, в котором я хотел бы использовать Quazip-Library. Для этого я знаю, что мне сначала нужно получить Zlib, поэтому я использовал fetchcontent_declare, чтобы получить оба в мою систему сборки Cmake: < /p>

Код: Выделить всё

cmake_minimum_required(VERSION 3.16)

# QT6 suchen
find_package(Qt6 REQUIRED COMPONENTS Widgets)

# Erzeuge Einstellungen für qt-projekt
qt_standard_project_setup()

# Festlegen der Output-Directories
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)

# Abrufen von notwendigen Abhängigkeiten
include(FetchContent)
FetchContent_Declare(
zlib
PREFIX ${PROJECT_SOURCE_DIR}/vendor/zlib
GIT_REPOSITORY https://github.com/madler/zlib
GIT_TAG 09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851 # Master, Release Version 1.3
FIND_PACKAGE_ARGS NAMES ZLIB
)
FetchContent_MakeAvailable(zlib)

FetchContent_Declare(
quazip
PREFIX ${PROJECT_SOURCE_DIR}/vendor/quazip
GIT_REPOSITORY https://github.com/stachenov/quazip
GIT_TAG 566fa496649b8cb09018b497575bb3bf2977965f # Master, Release Version 1.4
#   DEPENDS zlib
FIND_PACKAGE_ARGS NAMES QuaZip
)
FetchContent_MakeAvailable(quazip)

# Subdirectories / Projekte hinzufügen
add_subdirectory(ETEvalT)
< /code>
Однако Quazip не может ссылаться на Zlib, Visual Studio дает следующее сообщение об ошибке: < /p>
Fehler      CMake Error at out/build/x64-Debug/_deps/quazip-src/quazip/CMakeLists.txt:69 (target_link_libraries):
Target "QuaZip" links to:

ZLIB::ZLIB

but the target was not found.  Possible reasons include:

* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.   QuaZip_Library  D:\ExerciseTrackerEvaluationTool\out/build/x64-Debug/_deps/quazip-src/quazip/CMakeLists.txt

Какова проблема и как я могу решить это элегантно?

Подробнее здесь: https://stackoverflow.com/questions/773 ... -libraries
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»