我嘗試將我的C++應用程序與「Eigen 2.0.15」庫進行鏈接。 一些細節:特徵庫和C++鏈接程序的問題
- 我的編譯器:gcc版本4.0.1(蘋果公司建立5493)
- 我的操作系統是:MAC OS 10.5
我編譯克+ + -I/opt中碼/本地/包括-I /選擇/本地/包括/ EIGEN2 -02 -g ...
Building target: LBRALL Invoking: MacOS X C++ Linker g++ -L/opt/local/lib -o "LBRALL" [... *.o -files ] -lcv -lEigen2 -lcxcore -lhighgui
的錯誤是:
`Undefined symbols:
"Eigen::MatrixBase<Eigen::Block<Eigen::Matrix<float, 4, 4, 2, 4, 4>, 3, 3, 1, 32> >::inverse() const", referenced from:
Eigen::Transform<float, 3>::inverse(Eigen::TransformTraits) constin LBRSendStateCart.o
Eigen::Transform<float, 3>::inverse(Eigen::TransformTraits) constin LBRCam.o
"Eigen::MatrixBase<Eigen::Matrix<float, 4, 4, 2, 4, 4> >::inverse() const", referenced from:
Eigen::Transform<float, 3>::inverse(Eigen::TransformTraits) constin LBRSendStateCart.o
Eigen::Transform<float, 3>::inverse(Eigen::TransformTraits) constin LBRCam.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [LBRALL] Error 1`
有沒有人有一個想法,爲什麼鏈接器失敗?
根據http://eigen.tuxfamily.org/index.php?title=Main_Page,「沒有鏈接到的庫... Eigen是在頭文件中定義的純模板庫。」 – 2010-12-10 15:30:31