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 为什么赢了';找不到库找不到libgmp_Cmake_Debian - Fatal编程技术网

Cmake 为什么赢了';找不到库找不到libgmp

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

我正试图建立一个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,
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。

不久前解决了这个问题,只是注意到我没有选择答案。