我使用vcpkg作为我的软件包管理器,在该示例之后,使用sqlite构建example非常容易。
之后,我成功安装了botan并尝试使用
find_package(botan REQUIRED)
,如示例here所示。
但是不幸的是,这不起作用,并且生成退出并显示错误
CMake Error at vcpkg/scripts/buildsystems/vcpkg.cmake:247 (_find_package):
By not providing "Findbotan.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "botan", but
CMake did not find one.
Could not find a package configuration file provided by "botan" with any of
the following names:
botanConfig.cmake
botan-config.cmake
Add the installation prefix of "botan" to CMAKE_PREFIX_PATH or set
"botan_DIR" to a directory containing one of the above files. If "botan"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
CMakeLists.txt:4 (find_package
CMakeLists.txt如下所示
cmake_minimum_required(VERSION 3.0)
project(botanTest)
find_package(botan REQUIRED)
add_executable(main main.cpp)
target_link_libraries(main botan)
有没有一种方法可以使用cmake和vcpkg构建依赖于botan的应用程序?如果不是cmake,如何将botan用作vcpkg软件包?对位置进行硬编码不是可行的解决方案。
感谢您的帮助。
答案 0 :(得分:0)
vcpkg不为已构建和安装的Botan提供配置文件。
您将不得不在您的CMake项目中直接使用find_path()和find_library(),或者编写一个可通过find_package()调用找到的FindBotan.cmake文件。在此FindBotan.cmake中,您仍然需要使用find_path()和find_library()以及在Find模块中显示的其他一些常用样板。
如果您在Internet上搜索,您已经可以找到某些版本的FindBotan.cmake,但没有一个是官方的。