/usr/bin/ld 不小心被改爛了 - Linux

Table of Contents

感謝回答

我改的是 /etc/ld.so.conf

目前是長這樣:
/usr/lib
/usr/local/lib
include /etc/ld.so.conf.d/*.conf

事實上我的 .so 檔並不是 libcv.so 而是 libcv.so.1, libcv.so.1.0.0
locate libcv 會回傳(請見最下方兩行):
/usr/share/doc/libcvaux1
/usr/share/doc/libcvaux1/changelog.gz
/usr/share/doc/libcvaux1/changelog.Debian.gz
/usr/share/doc/libcvaux1/copyright
/usr/share/doc/libcv1
/usr/share/doc/libcv1/changelog.gz
/usr/share/doc/libcv1/changelog.Debian.gz
/usr/share/doc/libcv1/copyright
/usr/lib/libcvaux.so.1.0.0
/usr/lib/libcvaux.so.1
/usr/lib/libcv.so.1.0.0
/usr/lib/libcv.so.1

我想可能是要在 g++ linker 參數下 -lcv1.0.0 之類的?
還是乾脆就把 libcv.so.1 改名成 libcv.so?
不過以前是不用這樣搞啦… QQ


※ 引述《poppyer (破破)》之銘言:
: 你改了/usr/bin/ld? 還是/etc/ld.so.conf?
: 如果是後者的話, 貼出來看一下
: 那個ld說 -lcv找不到
: 就是說你的/etc/ld.so.conf中列的地方都找不到一個libcv.so的文件
: 試著找一找它, find / -iname libcv.so
: 看看以前你裝在什地方
: ※ 引述《Reinhard (偽ABJ)》之銘言:
: : 承上文 參考了這篇 http://tinyurl.com/52efab
: : 把 /etc/ld.so.conf
: : 在第一行加上了
: : /usr/local/lib
: : 從此以後我的所以程式都不能跑
: : linking 也不會過了?
: : 原本有裝的一些 library 全部都被 ld 抱怨說找不到…
: : 該怎麼樣 restore 回來呢? QQ
: : 舉一錯誤訊息為例:
: : make -f Makefile CXXFLAGS="-c -O2"
: : make[1]: Entering directory
: : `/home/jutirain/Research/Video_Segmentation/Code/trunk'
: : g++ -c -O2 main.cpp
: : g++ -c -O2 ImageBox.cpp
: : g++ -c -O2 DoFunc.cpp
: : g++ -c -O2 GraphCut/graph.cpp
: : g++ -c -O2 GraphCut/maxflow.cpp
: : g++ -c -O2 GraphCut/GraphCut.cpp
: : g++ -c -O2 OpticalFlowSand.cpp
: : g++ main.o ImageBox.o DoFunc.o graph.o maxflow.o GraphCut.o OpticalFlowSand.o
: : -o video_segmentation `fltk-config --cxxflags --ldflags --use-images` -lgil2
: : -lANN -lm -lcv -lhighgui -lcvaux
: : /usr/bin/ld: cannot find -lcv
: : collect2: ld returned 1 exit status
: : make[1]: *** [all] Error 1
: : make[1]: Leaving directory
: : `/home/jutirain/Research/Video_Segmentation/Code/trunk'
: : make: *** [optimize] Error 2

--

All Comments

Olive avatarOlive2008-10-02
果然 rename 就會過 那如果不想 rename 的話該怎做?
以前寫 -lcv 他就知道要找 libcv.so.1… @@
Noah avatarNoah2008-10-03
我遇過沒有lib.so而不能linking的情況是因為沒裝devel套件耶