为什么gcc抱怨图书馆已经存在时无法找到?

Han*_*Sun 0 c linux linker centos shared-libraries

消息如下:

$:~/software/version_1.02/example$ gcc -Wall -Wextra example.c -I../include -L../lib -lnnmf -larpack -llapack \
-lblas -o main
In file included from example.c:47:
../include/nmfdriver.h:92:7: warning: no newline at end of file
example.c:53: warning: unused parameter ‘argc’
example.c:53: warning: unused parameter ‘argv’
/usr/bin/ld: cannot find -larpack
collect2: ld returned 1 exit status
$:~/software/version_1.02/example$ ls /usr/lib/*arpack*
/usr/lib/libarpack.so.2  /usr/lib/libarpack.so.2.0.0
Run Code Online (Sandbox Code Playgroud)

arpack由安装yum(包管理器).我想知道为什么找不到它.有没有人有关于如何解决这个问题的想法?

ick*_*fay 5

它可能正在寻找没有版本后缀的库.
尝试将没有版本后缀的链接添加到其中一个版本化的后缀:

sudo ln -s /usr/lib/arpack.so.2 /usr/lib/arpack.so
Run Code Online (Sandbox Code Playgroud)