在一个catkin项目中,catkin_make失败了。 CMakeLists包括
find_package(Gperftools REQUIRED)
我已经安装了google-perftools:
google-perftools is already the newest version (2.4-0ubuntu5)
CMake Error表示无法找到gperftools,或者至少找不到路径变量:
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find Gperftools (missing: GPERFTOOLS_LIBRARIES
GPERFTOOLS_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
tuw_mpn/FindGperftools.cmake:39 (find_package_handle_standard_args)
tuw_mpn/CMakeLists.txt:40 (find_package)
经过几个小时的搜索后,我还没有找到设置说明。有人可以解释我如何解决这个错误吗?
提前致谢,我希望我已经为这个问题提供了足够的信息。
干杯, 迈克尔
答案 0 :(得分:2)
不确定您使用哪个脚本FindGperftools.cmake
,但this one搜索了库tcmalloc_and_profiler
和标题gperftools/heap-profiler.h
。
但打包google-perftools
doesn't provide这些文件。 (实际上,此软件包不提供任何标头或库。)
该库是provided个libgoogle-perftools4
个包。可能应该有一些devel包提供标题。
答案 1 :(得分:1)
您需要提供FindGperftools.cmake
例如来自: https://github.com/vast-io/vast/blob/master/cmake/FindGperftools.cmake
在CMakeLists.txt
中添加以下内容:
# set the path to the library folder
link_directories(/usr/local/lib)
#Append Gperftools_DIR
LIST(APPEND CMAKE_MODULE_PATH "/DirectoryWhereTheFindGperftools.cmakeIs")
find_package(Gperftools REQUIRED)
答案 2 :(得分:0)
我使用Ubuntu 16.04,并且与您有相同的问题。我认为问题在于缺少某些软件包:
sudo apt-get install gperf libgoogle-perftools-dev
已经解决了我的问题,您可以尝试一下。