Error in execution.
joahannes opened this issue · 2 comments
Friend, I try to run your project but I have errors.
I installed all the necessary packages: ATLAS, ARPACK, LAPACK, BLAS and ARMADILLO.
Which versions do you use?
ERROR:
joahannes@Joahannes:~/Downloads/kalman-cpp-master$ g++ main5.cpp -o test -O2 -larmadillo ekf.cpp
/tmp/ccAJNHBr.o: na função void arma::glue_times_redirect2_helper<false>::apply<arma::Mat<double>, arma::Col<double> >(arma::Mat<arma::Mat<double>::elem_type>&, arma::Glue<arma::Mat<double>, arma::Col<double>, arma::glue_times> const&)': ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE[_ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE]+0x12c): referência indefinida para
wrapper_dgemv_'
ekf.cpp:(.text.hot.ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE[ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE]+0x2f3): referência indefinida para wrapper_dgemv_' ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE[_ZN4arma27glue_times_redirect2_helperILb0EE5applyINS_3MatIdEENS_3ColIdEEEEvRNS3_INT_9elem_typeEEERKNS_4GlueIS7_T0_NS_10glue_timesEEE]+0x807): referência indefinida para
wrapper_dgemv'
/tmp/ccAJNHBr.o: na função void arma::glue_times::apply<double, false, false, false, arma::Mat<double>, arma::Mat<double> >(arma::Mat<double>&, arma::Mat<double> const&, arma::Mat<double> const&, double)': ekf.cpp:(.text.hot._ZN4arma10glue_times5applyIdLb0ELb0ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4_[_ZN4arma10glue_times5applyIdLb0ELb0ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4_]+0x286): referência indefinida para
wrapper_dgemm'
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb0ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4[ZN4arma10glue_times5applyIdLb0ELb0ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4]+0x4be): referência indefinida para wrapper_dgemv_' /tmp/ccAJNHBr.o: na função
arma::arma_real_only::result arma::op_dot::direct_dot(unsigned int, double const*, double const*)':
ekf.cpp:(.text.hot.ZN4arma6op_dot10direct_dotIdEENS_14arma_real_onlyIT_E6resultEjPKS3_S7[ZN4arma6op_dot10direct_dotIdEENS_14arma_real_onlyIT_E6resultEjPKS3_S7]+0xca): referência indefinida para wrapper_ddot_' /tmp/ccAJNHBr.o: na função
void arma::glue_times::apply<double, false, true, false, arma::Mat, arma::Mat >(arma::Mat&, arma::Mat const&, arma::Mat const&, double)':
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4[ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4]+0x298): referência indefinida para wrapper_dgemm_' ekf.cpp:(.text.hot._ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4_]+0x52d): referência indefinida para
wrapper_dgemv_'
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4[ZN4arma10glue_times5applyIdLb0ELb1ELb0ENS_3MatIdEES3_EEvRNS2_IT_EERKT3_RKT4_S4]+0x63f): referência indefinida para wrapper_dsyrk_' /tmp/ccAJNHBr.o: na função
void arma::glue_times::apply<double, false, true, false, false, arma::Mat, arma::Mat, arma::Mat >(arma::Mat&, arma::Mat const&, arma::Mat const&, arma::Mat const&, double)':
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4[ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4]+0x2a1): referência indefinida para wrapper_dgemm_' ekf.cpp:(.text.hot._ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4_]+0x5cf): referência indefinida para
wrapper_dgemv_'
ekf.cpp:(.text.hot.ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4[ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4]+0x689): referência indefinida para wrapper_dgemv_' ekf.cpp:(.text.hot._ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4_[_ZN4arma10glue_times5applyIdLb0ELb1ELb0ELb0ENS_3MatIdEES3_S3_EEvRNS2_IT_EERKT4_RKT5_RKT6_S4_]+0x72c): referência indefinida para
wrapper_dsyrk_'
/tmp/ccAJNHBr.o: na função void arma::glue_times_redirect3_helper<false>::apply<arma::Mat<double>, arma::Op<arma::Mat<double>, arma::op_htrans>, arma::Op<arma::eGlue<arma::Glue<arma::Glue<arma::Mat<double>, arma::Mat<double>, arma::glue_times>, arma::Op<arma::Mat<double>, arma::op_htrans>, arma::glue_times>, arma::Mat<double>, arma::eglue_plus>, arma::op_inv> >(arma::Mat<arma::Mat<double>::elem_type>&, arma::Glue<arma::Glue<arma::Mat<double>, arma::Op<arma::Mat<double>, arma::op_htrans>, arma::glue_times>, arma::Op<arma::eGlue<arma::Glue<arma::Glue<arma::Mat<double>, arma::Mat<double>, arma::glue_times>, arma::Op<arma::Mat<double>, arma::op_htrans>, arma::glue_times>, arma::Mat<double>, arma::eglue_plus>, arma::op_inv>, arma::glue_times> const&)': ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE[_ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE]+0x38f): referência indefinida para
wrapper_dgetri_'
ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE[ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE]+0x5a3): referência indefinida para wrapper_dgetrf_' ekf.cpp:(.text.hot._ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE[_ZN4arma27glue_times_redirect3_helperILb0EE5applyINS_3MatIdEENS_2OpIS4_NS_9op_htransEEENS5_INS_5eGlueINS_4GlueINS9_IS4_S4_NS_10glue_timesEEES7_SA_EES4_NS_10eglue_plusEEENS_6op_invEEEEEvRNS3_INT_9elem_typeEEERKNS9_INS9_ISH_T0_SA_EET1_SA_EE]+0x963): referência indefinida para
wrapper_dgetri'
collect2: error: ld returned 1 exit status
I never tested the codes on Windows with g++. There is VS project file included with all compiled libraries there, Can you try them and let me know?
Visual Studio Files works well
The lib must be built first then linked to the demo file.