谢谢你们回答我以前的问题undefined reference to function。正如你所建议的那样,问题之所以没有链接库。现在,我已经生成与可执行文件:(。我的G ++和gcc版本4.4.5是我使用Ubuntu 10.10)加载共享库时出错
g++ -o ex_addinst ./ex_addinst.o -L/home/li/work/tools/lindo/lindoapi/bin/linux64 -m64 -llindo64 -lmosek64 -lconsub3 -lc -ldl -lm -lguide -lpthread -lsvml -limf -lirc
但总会有另一个问题,当我运行的可执行文件与
./ex_addinst
出现错误:(我不知道我应该开始一个新的问题,或者目前不....)
./ex_addinst: error while loading shared libraries: liblindo64.so.6.0: cannot open shared object file: No such file or directory
但liblindo64.so.6.0中存在折的lib〜/ lindoapi /斌/ LINUX64的ER其中包含以下文件:
libconsub3.so libirc.so liblindojni.so libmosek64.so.5.0 lindo.par
libguide.so liblindo64.so liblindojni.so.6.0.3 libsvml.so placeholder
libimf.so liblindo64.so.6.0 libmosek64.so lindoapivars.sh runlindo
我已经创建liblindo.so.6.0和liblindo.so之间的符号链接:
ln -sf liblindo64.so.6.0 liblindo64.so
有' -llindo64'是g ++命令,所以我认为liblindo64.so.6.0应该已经被链接。 我试图将-L更改为-Llib,但没有帮助。
谁能告诉我这里有什么问题吗?谢谢!
Thanks Mat,在home /.../ lindoapi/bin/linux64中,有一个lindoapivars.sh文件,其中LD_LIBRARY_PATH已被修改如:LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:HOME/li/work/tools/lindo/lindoapi/bin/linux64 012-export LD_LIBRARY_PATH。但他的问题仍然出现.. – ulyssis2
它是'HOME“或'$ HOME'在该字符串中? – Mat
这是$ HOME,对不起,我的错字。由于lindoapivars.sh中有内容,我认为这不是改变这个变量的正确位置。 – ulyssis2