我已经在我的计算机上安装了 FFTW3 库,并且可以在 /usr/lib 中找到以下文件:
libfftw3f.so.3 libfftw3l_threads.so.3
libfftw3f.so.3.3.0 libfftw3l_threads.so.3.3.0
libfftw3f_threads.so.3 libfftw3.so.3
libfftw3f_threads.so.3.3.0 libfftw3.so.3.3.0
libfftw3l.so.3 libfftw3_threads.so.3
libfftw3l.so.3.3.0 libfftw3_threads.so.3.3.0
我想安装另一个需要链接这些库的包,但是当我尝试时FIND_LIBRARY(FFTW3_LIBRARIES fftw3)
and FIND_LIBRARY(FFTW3_LIBRARIES fftw3f)
,
它只是找不到库。
我该如何解决这个问题?谢谢!
CMakeLists.txt中的代码:
FIND_PATH(FFTW3_INCLUDE_DIR fftw3.h)
IF(FFLD_HOGPYRAMID_DOUBLE)
FIND_LIBRARY(FFTW3_LIBRARIES libfftw3.so.3)
ELSE()
FIND_LIBRARY(FFTW3_LIBRARIES libfftw3f.so.3)
ENDIF()
#IF(NOT FFTW3_INCLUDE_DIR OR NOT FFTW3_LIBRARIES)
IF(NOT FFTW3_INCLUDE_DIR OR NOT FFTW3_LIBRARIES)
MESSAGE(FATAL_ERROR "Could not find fftw3.")
ENDIF()
错误信息:
CMake Error at CMakeLists.txt:52 (MESSAGE):
Could not find fftw3.
您已经安装了动态库,但是您是否安装了“开发”包?您可能需要一个名为以下内容的文件或符号链接:
libfftw3.so
您可能需要安装 fftw3-devel(或 fftw3-dev)软件包。
另外,尝试删除“lib”前缀和 .so.3 后缀:
FIND_LIBRARY(FFTW3_LIBRARIES NAMES fftw3 libfftw3)
如果这不起作用,请尝试添加 PATHS 参数:
FIND_LIBRARY(FFTW3_LIBRARIES NAMES fftw3 libfftw3 PATHS /usr/lib <other paths>)
确保 CMAKE_FIND_ROOT_PATH 变量设置正确(假设您没有交叉编译,因此它可能为空,并且 cmake 将使用合理的位置来查找库)。
有关 find_library 函数的详细用法,请参阅 cmake 手册页。
最后,查看此站点以了解如何编写 find_package 脚本:http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)