「Eigen 2.0.15」ライブラリに対して C++ アプリケーションをリンクしようとしています。いくつかの詳細:
- 私のコンパイラは: gcc バージョン 4.0.1 (Apple Inc. ビルド 5493)
- 私のOSは:mac os 10.5
g++ -I/opt/local/include -I/opt/local/include/eigen2 -O2 -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`
リンカーが失敗する理由を知っている人はいますか?