Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用cmake找到libavahi_Cmake_Avahi - Fatal编程技术网

用cmake找到libavahi

用cmake找到libavahi,cmake,avahi,Cmake,Avahi,我需要将libavahi-client3添加到我的项目的cmake依赖项中。还需要检查libavahi-client3和libavahi-common3是否存在。仅当前库(avahi)存在问题 尝试做这些事情: find_package(libavahi-common3) if(NOT libavahi-common3_FOUND) message(ERROR " libavahi-common3 is not found") endif(NOT libavahi-common3_FOUND)

我需要将libavahi-client3添加到我的项目的cmake依赖项中。还需要检查libavahi-client3和libavahi-common3是否存在。仅当前库(avahi)存在问题

尝试做这些事情:

find_package(libavahi-common3)
if(NOT libavahi-common3_FOUND)
message(ERROR " libavahi-common3 is not found")
endif(NOT libavahi-common3_FOUND)
或此变体:

find_library(AVAHI_COMMON_LIBRARY NAMES libavahi-common3)
if(NOT AVAHI_COMMON_LIBRARY_FOUND)
message(ERROR " libavahi-common3 is not found")
endif(NOT AVAHI_COMMON_LIBRARY_FOUND)

两者都不起作用,我搜索了findAvahi.cmake之类的东西,但什么也没找到。那么,我应该编写自己的搜索模块还是有其他更好的选择

目前没有针对avahi随CMake提供的查找脚本,这就是为什么您的第一个示例不起作用的原因。重要的是要了解,
find_package
只是运行一个外部查找脚本,它本身不执行任何搜索

您的第二个示例已经失败,它混合了
find\u library
find\u package
中的习惯用法。请阅读和的文档,这些文档将帮助您找到所需的库和包含路径


如果需要,您可以稍后将其转换为find脚本(查看CMake模块目录中的脚本,了解这样的脚本应该是什么样子),这将允许您使用更紧凑的find_包再次定位库。请注意,编写一个在不同平台上运行良好的查找脚本是一项复杂的任务,需要进行一些研究才能使其正确运行。

目前没有针对avahi随CMake提供的查找脚本,这就是为什么您的第一个示例不起作用的原因。重要的是要了解,
find_package
只是运行一个外部查找脚本,它本身不执行任何搜索

您的第二个示例已经失败,它混合了
find\u library
find\u package
中的习惯用法。请阅读和的文档,这些文档将帮助您找到所需的库和包含路径


如果需要,您可以稍后将其转换为find脚本(查看CMake模块目录中的脚本,了解这样的脚本应该是什么样子),这将允许您使用更紧凑的find_包再次定位库。请注意,编写一个在不同平台上运行良好的查找脚本是一项复杂的任务,需要进行一些研究才能使其正确。

谢谢,我发现了一件很棒的事情。谢谢,我发现了一件很棒的事情。