编译时Ubuntu 12.04 LTS上的库链接错误

时间:2014-09-17 17:18:55

标签: c++ compilation

我正在使用ubuntu 12.04将gcc升级到4.7,不知怎么当我在用户下编译(我的Makefile FC使用gfortran)时,它说:

/usr/bin/ld: cannot find -lgfortran collect2: error: ld returned 1 exit status make: *** [build/x86_64/bin/libalgebra.0ae9caadf83b653d634cfc68d8570085.so] Error 1

我很容易 - 得到它,仍然是相同的,为什么我无法链接到它?

1 个答案:

答案 0 :(得分:0)

您可以使用pkg-config。这些情况非常简洁。

 $pkg-config[Tab][Tab] 

将自动完成系统上每个可包含的已安装库。在您的闲暇时间查找此列表中的Fortran库。

要获取必要的链接器标志,请使用

$pkg-config --libs gfortXX(library name)

我的系统上没有安装此lib,所以我无法告诉您确切的输出。但作为一个例子,我需要获取harfbuss库的链接器标志:

CptTall@kipling:~$ pkg-config --libs harfbuzz
-lharfbuzz  

此手册页非常有用。它不是“BSD”写的,但总体上很有用。

您还可以通过pkg-config --cflags libname获取编译器标志。