gsl: 无法链接文件,/usr/bin/ld: 找不到 -lgsl。

4
我在Linux服务器上运行以下makefile时遇到了以下错误:
gcc -m64 -O3 /export/projects/EL/mlml21/gsl-1.16/.libs/libgsl.a /export/projects/EL/mlml21/gsl-1.16/cblas/.libs/libgslcblas.a -I/export/projects/EL/mlml21/gsl-1.16 -std=c99 -o em em.c data.c prob_functions.c -lgsl -lgslcblas -lm /usr/bin/ld: 找不到-lgsl collect2: ld 返回 1 退出状态 make: *** [em] 错误 1
以下是相关的makefile内容:
default: em em_mex clean: rm -f *.o em
CBLAS_LIB=/export/projects/EL/mlml21/gsl-1.16/cblas/.libs GSL_LIB=/export/projects/EL/mlml21/gsl-1.16/.libs GSL_INCLUDE=/export/projects/EL/mlml21/gsl-1.16 MATLAB=/usr/local/R2013a em_mex: em_mex.c em.c data.c data.h prob_functions.c prob_functions.h $(MATLAB)/bin/mex $(GSL_LIB)/libgsl.a $(CBLAS_LIB)/libgslcblas.a -I$(GSL_INCLUDE) -arch=linux em_mex.c em.c data.c prob_functions.c em: em.c data.c data.h prob_functions.c prob_functions.h gcc -m64 -O3 $(GSL_LIB)/libgsl.a $(CBLAS_LIB)/libgslcblas.a -I$(GSL_INCLUDE) -std=c99 -o em em.c data.c prob_functions.c -lgsl -lgslcblas -lm
请注意,此错误是由于找不到库-lgsl而导致的。
1个回答

3

尝试运行以下命令安装libgs:

sudo apt-get install libgsl0-dev

您正在从源代码编译程序。gcc在链接时搜索名为gsl的库,但在系统中找不到gsl。这就是gcc命令失败的主要原因。您的系统没有安装gsl。因此,在编译程序之前,必须先安装gsl。要安装gsl,只需运行上面的命令即可。希望这能帮到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接