2017-09-13 74 views
0

我在Ubuntu 14.04上安装了GSL(Gnu Scientific library),它工作正常。然后我升级到Ubuntu 16.04,现在,如果我尝试使用GSL编译C++代码,我得到错误信息Gnu Scientific Library在Ubuntu中停止工作16.04

g++ -c FILE.cpp 
In file included from FILE.cpp:1:0: 
FILE.h:3:28: fatal error: gsl/gsl_matrix.h: No such file or directory 
compilation terminated. 
Makefile:42: recipe for target 'FILE.o' failed 
make: *** [FILE.o] Error 1 

我该如何解决这个问题?

+1

您是否尝试再次安装库? – user0042

+1

它看起来像升级删除旧的软件包;那些被弃用/废弃的地方?你有没有尝试重新安装它们? – ray

回答

0

此升级似乎已删除较旧的软件包。您将需要从存储库重新安装它们。该命令apt-cache search gsl包括以下相关的包:

libgsl-dev - GNU Scientific Library (GSL) -- development package 
libgsl2 - GNU Scientific Library (GSL) -- library package 
gsl-bin - GNU Scientific Library (GSL) -- binary package 

既然你在做开发的工作,你应该安装libgsl-dev

+0

啊,我只是试图安装gsl-bin,并没有帮助。安装libgsl-dev确实解决了这个问题。谢谢! –

+0

@JonathanLindgren确实。图书馆通常提供两种“口味”,一种是用户,它以二进制的形式出现在特定的平台/拱门中,另一种则以开源形式出现。 – ray