我是Cmake的新手,所以我将写详细的故事。
我试图在Windows下构建一个库,而该库依赖于其他库。 (libmatroska
取决于libebml
)source libmatroska和source libebml
幸运的是,两个库都可以使用cmake构建。
我使用cmake成功构建了libebml
。并且还使用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
的{{1}}来源中找到。
我输入EbmlConfig.cmake
,然后重试。
在第二次跑步中,我得到了:
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
include(${CMAKE_CURRENT_LIST_DIR}/EbmlTargets.cmake)
是在EbmlTargets.cmake
编译时生成的文件。
我试图将Ebml
中的路径更改为全局路径。但是出现了同样的错误。
另外,当我删除EbmlConfig.cmake
的上下文时,我仍然遇到相同的错误。
看起来像“出问题时的默认错误”