xbpeng / DeepTerrainRL

terrain-adaptive locomotion skills using deep reinforcement learning
GNU Lesser General Public License v3.0
435 stars 129 forks source link

"cSpAlg::gSpVecSize" Linker problem #36

Closed MiaoDragon closed 7 years ago

MiaoDragon commented 7 years ago

Hello! I'm currently doing a project based on this work. I'm using Mac OS X, and when I run "make config=debug64", I found out that there are some problems of linking. It shows the following log:

" Undefined symbols for architecture x86_64: "cSpAlg::gSpVecSize", referenced from: cRBDModel::InitJointSubspaceArr() in RBDModel.o cRBDUtil::SolveInvDyna(cRBDModel const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&) in RBDUtil.o cRBDUtil::BuildJacobianDot(cRBDModel const&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&) in RBDUtil.o cRBDUtil::CalcGravityForce(cRBDModel const&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&) in RBDUtil.o cSpAlg::CrossMs(Eigen::Matrix<double, 6, 1, 0, 6, 1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&) in SpAlg.o cSpAlg::CrossFs(Eigen::Matrix<double, 6, 1, 0, 6, 1> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&) in SpAlg.o cSpAlg::ApplyTransM(Eigen::Matrix<double, 3, 4, 0, 3, 4> const&, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&) in SpAlg.o ... ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: [TerrainRL] Error 1 make: [TerrainRL] Error 2 "

If I got it right, it seems that cSpAlg was not properly linked, but in the code it is written correctly... I have done some changes to the premake file, only to add the correct library locations. In my new makefile, I'm sure that Eigen, caffe, cuda, opencv, openblas, openGL, glew and bullet are included and linked correctly.

Could you give me some suggestions on this problem? Thanks!

MiaoDragon commented 7 years ago

It has been solved by commented out the "#ifdef LINUX" part.