Cmake 为什么赢了';找不到库找不到libgmp
我正试图建立一个cmake项目,而我得到的回购协议已经有了底线Cmake 为什么赢了';找不到库找不到libgmp,cmake,debian,Cmake,Debian,我正试图建立一个cmake项目,而我得到的回购协议已经有了底线 find_library(gmp gmp) if(NOT gmp) message(FATAL_ERROR "gmp not found") endif() 这会导致CMake配置失败 我听说这个CMake在Redhat Enterprise Linux 7.3上工作 我还被告知,这个repo应该在安装了正确库的任何Linux环境中构建,并且已经特别提到了Ubuntu环境 我在Debian 9.4.0中构建,我安装了gmp,l
find_library(gmp gmp)
if(NOT gmp)
message(FATAL_ERROR "gmp not found")
endif()
这会导致CMake配置失败
我听说这个CMake在Redhat Enterprise Linux 7.3上工作
我还被告知,这个repo应该在安装了正确库的任何Linux环境中构建,并且已经特别提到了Ubuntu环境
我在Debian 9.4.0中构建,我安装了gmp,libgmp。因此
位于/usr/lib/x86\u 64-linux-gnu/openssl-1.0.2/engines/libgmp。因此
我还有一个libgmp.so.10
at/usr/lib/x86\u 64-linux-gnu/libgmp.so.10
因此,概括地说,我收到了一份回购协议,我被告知它是构建的,但它没有构建,在这一特定步骤中失败,我无法让谷歌给我任何关于如何解决问题/我做错了什么的相关结果。CMake没有搜索So version”文件: 如果为“gmp”库名称调用了
find_库
,CMake将搜索libgmp.so
文件,但不会搜索libgmp.so.10
one
通常,没有so版本的库文件只是指向最新so版本文件的软链接。如果Linux发行版未创建此类链接,您可以手动创建:
ln -s libgmp.so libgmp.so.10
如果希望CMake查找
/usr/lib/x86_64-linux-gnu/openssl-1.0.2/engines/libgmp.so
文件,该文件不在CMake通常搜索的目录下,则需要提示CMake。例如,使用路径
选项:
find_library(gmp gmp PATHS "/usr/lib/x86_64-linux-gnu/openssl-1.0.2/engines")
已安装libgmp,但未安装开发库 Cmake find_库查找软件开发所需的文件,虽然安装了libgmp包,但没有安装libgmp dev包
安装libgmp-dev。不久前解决了这个问题,只是注意到我没有选择答案。