謝謝你們回答我以前的問題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