Я новичок в Cmake, поэтому напишу историю подробно.
Я пытаюсь собрать одну библиотеку под Windows, и эта библиотека зависит от другой библиотеки.(libmatroska
зависит от libebml
) source libmatroska и source libebml
К счастью, обе библиотеки могут быть собраны с помощью cmake.
Я собрал libebml
успешно с cmake.А также встроенные двоичные файлы с использованием VS studio.
Затем я попытался разобраться с libmatroska
: во время первой попытки я получил:
Could not find a package configuration file provided by "Ebml" (requested
version 1.3.5) with any of the following names:
EbmlConfig.cmake
ebml-config.cmake
в libebml
источниках, которые я нашел EbmlConfig.cmake
.
I Type export Ebml_DIR=D:/work/mkv/libebml
и попробуйте снова.
При втором запуске я получил:
Could not find a configuration file for package "Ebml" that is compatible
with requested version "1.3.5".
The following configuration files were considered but not accepted:
D:/work/mkv/libebml/EbmlConfig.cmake, version: unknown
И через несколько часов я все еще застрял на нем.
Я не могу понять корень этой ошибки.
Что-то не так с EbmlConfig.cmake
?
... или, возможно, я указал путь к неправильному *.cmake
файлу?
... или мне нужно установить libebml
как-то перед обработкой libmatroska
?
Я буду рад любой подсказке.
ОБНОВЛЕНИЕ:
Здесь EbmlConfig.cmake
context:
include(${CMAKE_CURRENT_LIST_DIR}/EbmlTargets.cmake)
Где EbmlTargets.cmake
- файл, сгенерированный во время Ebml
компиляции.
Я пытался изменить путь внутри EbmlConfig.cmake
на глобальный путь.Но получил ту же ошибку.
Также, когда я удаляю контекст EbmlConfig.cmake
У меня все еще та же ошибка.
Это выглядит как "ошибка по умолчанию, когда что-то идет не так"