gpt4 book ai didi

c++ - 使用 CMAKE 如何使用 CHECK_LIBRARY_EXISTS 检查 C++ 库?

转载 作者:搜寻专家 更新时间:2023-10-31 00:43:43 28 4
gpt4 key购买 nike

我正在尝试使用 cmake 的功能:

CHECK_LIBRARY_EXISTS(library function location variable) 

如何检查 C++ 库是否可用?

CHECK_LIBRARY_EXISTS(yaml-cpp "YAML::Token" ${YAML-CPP_PATHS} HAVE_YAML-CPP)
IF(HAVE_YAML-CPP)
MESSAGE(STATUS "YAML-CPP libraries founded: OK")
ENDIF(HAVE_YAML-CPP)

IF(NOT HAVE_YAML-CPP)
MESSAGE(FATAL_ERROR "ERROR: unable to link YAML::Token")
ENDIF(NOT HAVE_YAML-CPP)

该代码片段不起作用。

最佳答案

CheckLibraryExists 模块仅适用于 C 符号,不适用于 C++。我个人只会使用 find_libraryfind_path 来查找库并包含路径。如果库不包含正确的符号,用户将在链接过程中很快注意到...

由于 yaml-cpp 安装了 pkg-config 文件,您还可以使用 FindPkgConfig 模块。但是,由于 yaml-cpp 本身是使用 CMake 构建的,因此您应该鼓励他们实际安装 yaml-cpp-config.cmake 文件。参见例如这个tutorial获取更多信息。

关于c++ - 使用 CMAKE 如何使用 CHECK_LIBRARY_EXISTS 检查 C++ 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10210138/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com