nut*_*rio 5 c++ macos linker gcc eigen
我尝试将我的 C++ 应用程序链接到“Eigen 2.0.15”库。一些细节:
我用 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`
Run Code Online (Sandbox Code Playgroud)
有人知道链接器为什么会失败吗?
查看错误消息,我猜您没有实例化 Matrix、Transform 和可能的其他模板。发生这种情况可能是因为头文件不包含这些模板的实现,或者可能有一个条件编译应该为它们提取实现。
| 归档时间: |
|
| 查看次数: |
3114 次 |
| 最近记录: |