CMake — библиотека не найдена для -lZSTDC++

Программы на C++. Форум разработчиков
Ответить
Гость
 CMake — библиотека не найдена для -lZSTD

Сообщение Гость »


Я скомпилировал ZSTD из исходного кода и установил его на уровне системы.

Вот мой CMakeLists.txt:

set(CMAKE_AUTOUIC ON) установить (CMAKE_AUTOMOC ON) установить (CMAKE_AUTORCC ON) установить (CMAKE_CXX_STANDARD 17) установить (CMAKE_CXX_STANDARD_REQUIRED ON) # Qt для iOS автоматически устанавливает MACOSX_BUNDLE_GUI_IDENTIFIER, начиная с Qt 6.1. # Если вы разрабатываете для iOS или macOS, вам следует рассмотреть возможность установки # явный, фиксированный идентификатор пакета вручную. если (${QT_VERSION} VERSION_LESS 6.1.0) set (BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.BeastBurstAgent) конециф() qt_add_executable (BeastBurst_Agent РУКОВОДСТВО_ФИНАЛИЗАЦИЯ зверьберст_агент.h зверьберст_агент.cpp зверьберст_агент.ui зверьберстагент_main.cpp ) set_target_properties(BeastBurst_Agent СВОЙСТВА ${BUNDLE_ID_OPTION} MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} MACOSX_BUNDLE ИСТИНА WIN32_EXECUTABLE ИСТИНА ) если (ЯБЛОКО) set_target_properties(BeastBurst_Agent СВОЙСТВА RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/BeastBurst.app/Contents/MacOS/ ) еще если (WIN32) set_target_properties(BeastBurst_Agent СВОЙСТВА RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/ ) else() # Предполагается, что Linux set_target_properties(BeastBurst_Agent СВОЙСТВА RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/ ) конециф() if(CMAKE_BUILD_TYPE MATCHES Отладка) target_compile_definitions (BeastBurst_Agent ЧАСТНАЯ РАЗРАБОТКА_ENV) еще() target_compile_definitions (BeastBurst_Agent PRIVATE PRODUCTION_ENV) конециф() target_include_directories(BeastBurst_Agent PUBLIC ${CMAKE_SOURCE_DIR}/BBPatcher/) find_package (ТРЕБУЕТСЯ ZSTD) если(ZSTD_FOUND) сообщение(СТАТУС «Найдено в агенте zstd: ${ZSTD_VERSION}») еще() сообщение (FATAL_ERROR «zstd не найден») конециф() target_link_libraries(BeastBurst_Agent PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network ${BZIP2_LIBRARIES} ZSTD BBPatcher HDiffPatch) если (QT_VERSION_MAJOR РАВНО 6) qt_finalize_executable (BeastBurst_Agent) конециф() Когда я запускаю CMake, я ясно вижу, что CMake находит zstd, потому что я вижу следующий вывод:

-- Найдено в агенте zstd: 1.5.5

Однако, когда я пытаюсь собрать BeastBurst_Agent, я получаю следующую ошибку:

[ 97%] Связывание исполняемого файла CXX ../BeastBurst.app/Contents/MacOS/BeastBurst_Agent.app/Contents/MacOS/BeastBurst_Agent ld: библиотека не найдена для -lZSTD clang: ошибка: команда компоновщика завершилась неудачно с кодом выхода 1 (используйте -v, чтобы увидеть вызов) make[3]: *** [BeastBurst.app/Contents/MacOS/BeastBurst_Agent.app/Contents/MacOS/BeastBurst_Agent] Ошибка 1 make[2]: *** [Agent/CMakeFiles/BeastBurst_Agent.dir/all] Ошибка 2 make[1]: *** [Agent/CMakeFiles/BeastBurst_Agent.dir/rule] Ошибка 2 make: *** [BeastBurst_Agent] Ошибка 2 Почему не хочет его связывать? В чем может быть проблема и как ее исправить?
Ответить

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

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

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

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

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