ld找不到-l <library>

mo *_* ba 17 ubuntu linker gcc shared-libraries ld

我在ubuntu 12.04上安装pyipopt时遇到问题.在链接期间,我收到错误:

/usr/bin/ld: cannot find -lcoinhsl

即使我知道已安装此库,并且可以使用.so和.la文件 /home/mostafa/MyBuilds/CoinIpopt/build/lib/

有没有人有这个解决方案?

下面是运行setup.py build的完整返回:

root@ubuntu:~/MyBuilds/pyipopt# sudo python setup.py build
running build
running build_ext
building 'pyipopt' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/home/mostafa/MyBuilds/CoinIpopt/build/include/coin/ -I/usr/include/python2.7 -c src/callback.c -o build/temp.linux-x86_64-2.7/src/callback.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/home/mostafa/MyBuilds/CoinIpopt/build/include/coin/ -I/usr/include/python2.7 -c src/pyipopt.c -o build/temp.linux-x86_64-2.7/src/pyipopt.o
src/pyipopt.c: In function ‘set_intermediate_callback’:
src/pyipopt.c:452:15: warning: variable ‘myowndata’ set but not used [-Wunused-but-set-variable]
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relrobuild/temp.linux-x86_64-2.7/src/callback.o build/temp.linux-x86_64-2.7/src/pyipopt.o -L/home/mostafa/MyBuilds/CoinIpopt/build/lib/ -lipopt -lblas -lcoinhsl -lcoinmetis -llapack -ldl -lm -o build/lib.linux-x86_64-2.7/pyipopt.so -Wl,--rpath -Wl,/home/mostafa/MyBuilds/CoinIpopt/build/lib/
/usr/bin/ld: cannot find -lcoinhsl
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

Tre*_*key 8

-Ldir
将目录dir添加到要搜索-l的目录列表中.


Ste*_*rol 2

您可以在标准库目录之一中安装 coinhsl 库,并在安装 ppyipopt 之前运行“ldconfig”

  • 您能告诉我应该如何安装它以及标准库目录在哪里吗?事实上 coinhsl 是 IPopt (这是一个数学优化工具)安装和使用的库之一,所以我不知道如何单独安装它? (2认同)