我正在尝试编译this ROS程序包,但出现以下错误
Could not find a package configuration file provided by "libdlib" with any of the following names:
libdlibConfig.cmake
libdlib-config.cmake
Add the installation prefix of "libdlib" to CMAKE_PREFIX_PATH or set
"libdlib_DIR" to a directory containing one of the above files. If
"libdlib" provides a separate development package or SDK, be sure it has
been installed.
参考SO和其他地方的其他答案,我在CMakeLists.txt中添加了以下几行
include(/home//src/dlib/dlib/cmake)
include_directories (${dlib_INCLUDE_DIRS})
target_link_libraries(room_segmentation_server ${dlib_LIBRARIES})
我还按照these的说明安装了dlib,但错误仍然存在。
我缺少什么或做错了什么?
答案 0 :(得分:0)
首先:如果您提供代码和所面临的确切错误,则可以更轻松地为您提供帮助。
我想,您正在尝试借助String.IsNullOrWhiteSpace(vbNullString)
来查找该库?!
Not String.IsNullOrWhiteSpace(data) AndAlso data <> vbNullChar
是CMake文件,您的find_package(dlib CONFIG)
安装需要提供此文件。对于您的cmake,此文件已写入其中,以查找libdlibConfig.cmake
安装的include-和库路径。在它的帮助下,您的cmake然后设置您要使用的变量:dlib
和dlib
(指向其相应的路径)。
因此,您的dlib_INCLUDE_DIRS
呼叫抱怨,找不到这样的dlib_LIBRARIES
,或者您的系统上没有这样的文件,或者该文件不在预期的目录中。两种方式:不会设置您要使用的变量。或者,您的系统上可能有一个cmake
文件,其作用几乎与libdlibConfig.cmake
所引用的相同。
如果您没有这两个文件之一,则需要自行指定include-dir和library-dir的路径:
FindDlib.cmake