[問題] 編譯cpp檔發生未定義參考

作者: s501082001 (曹草逼)   2016-01-27 23:05:51
參考網頁:http://caffe.berkeleyvision.org/installation.html
電腦配備:Intel Xeon CPU E5-2620 @ 2.00GHz
GeForce GTX 950 / PCIe
64位元
底下有用分隔線,分隔線以上在說明是說明環境的建置,如果大家覺得文字太多可以
直接從分隔線以下開始看,因為怕文字說明太少,看不懂我在問甚麼,文字太多還請見諒
目前我依照上述的網頁來設定環境,從Ubuntu guide依序安裝了
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev
libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install
作者: LPH66 (-6.2598534e+18f)   2016-01-27 23:09:00
編譯 c++ 的指令請用 g++, 有一些預設設定不一樣
作者: s501082001 (曹草逼)   2016-01-27 23:55:00
好我在測試一下用g++編譯
作者: tinlans ( )   2016-01-28 00:05:00
-l 跟 -L 大小寫也有差
作者: s501082001 (曹草逼)   2016-01-28 00:16:00
您好, g++ convert_imageset.cpp -L/usr/lib-I/usr/include/ -o convert_imageset指令這樣打完之後,還是有未定義參考問題,錯誤有減少
作者: LPH66 (-6.2598534e+18f)   2016-01-28 00:32:00
加上 -lglog小寫的 -l 是引入 lib, 大寫的 -L 是指定去哪找 lib雖然你已經安裝了 glog 但沒下 -lglog 時 g++ 不會知道你要
作者: s501082001 (曹草逼)   2016-01-28 00:40:00
好謝謝我試試看g++ convert_imageset.o -o convert_imageset -lglog出現 undefined reference to symbol '_ZN6google14Flag.....' error adding symbols: DSO missing fromcommand line目前在找解決方式上述的錯誤加上 -gflags有解決謝謝您,不過有一個未定義參考是寫boost::system錯誤加上-lboost後反而出現 cannot find -lboost但是有確定libboost有在裡面
作者: andy13579372 (痘糖)   2016-01-28 02:02:00
你是用makefile還是直接打g++
作者: tinlans ( )   2016-01-28 02:46:00
我看過的 boost 好像沒有包成一大包 libboost.so 的版本
作者: Neisseria (Neisseria)   2016-01-28 09:23:00
caffe 裡面有 cmake 相關的檔案,會比較好處理
作者: s501082001 (曹草逼)   2016-01-28 21:29:00
我是用g++執行,經過查詢有找到一個libboost_system有成功將編譯檔執行出來,謝謝大家的回覆To Neisseria 謝謝您的建議

Links booklink

Contact Us: admin [ a t ] ucptt.com