gaoxiang12 / slambook2

edition 2 of the slambook
MIT License
5.46k stars 2.01k forks source link

pose_estimation_2d2d.cpp运行出现undefined reference to.....问题,程序无法运行 #272

Open BoBoINVICTUS opened 1 year ago

BoBoINVICTUS commented 1 year ago

Executing task: E:\MinGw\bin\g++.exe pose_estimation_2d2d.cpp -o d:\slambook2-master\ch7\output\pose_estimation_2d2d.exe -Wall -Wextra -g3

C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In function operator<<': E:/opencv/build/install/include/opencv2/core/cvstd.inl.hpp:89: undefined reference tocv::Formatter::get(cv::Formatter::FormatType)' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In function main': D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:39: undefined reference tocv::imread(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, int)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:40: undefined reference to `cv::imread(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, int)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:49: undefined reference to cv::Mat::Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:49: undefined reference tocv::Mat::Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:56: undefined reference to cv::Mat::Mat(cv::Mat&&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:58: undefined reference tocv::operator(cv::Mat const&, cv::Mat const&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:58: undefined reference to cv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:61: undefined reference tocv::Mat::Mat(cv::Mat&&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:64: undefined reference to cv::Mat::Mat(cv::Mat&&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:66: undefined reference tocv::Mat::Mat(cv::Mat&&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:67: undefined reference to cv::Mat::t() const' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:67: undefined reference tocv::operator(cv::MatExpr const&, cv::Mat const&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:67: undefined reference to cv::operator*(cv::MatExpr const&, cv::Mat const&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:67: undefined reference tocv::operator(cv::MatExpr const&, cv::Mat const&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:67: undefined reference to cv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:66: undefined reference tocv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:64: undefined reference to cv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:61: undefined reference tocv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:56: undefined reference to cv::Mat::~Mat()' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o:D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:49: more undefined references tocv::Mat::~Mat()' follow
C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In function find_feature_matches(cv::Mat const&, cv::Mat const&, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >&, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >&, std::vector<cv::DMatch, std::allocator<cv::DMatch> >&)': D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:78: undefined reference tocv::Mat::Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:78: undefined reference to cv::Mat::Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:80: undefined reference tocv::ORB::create(int, float, int, int, int, int, cv::ORB::ScoreType, int, int)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:81: undefined reference to cv::ORB::create(int, float, int, int, int, int, cv::ORB::ScoreType, int, int)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:85: undefined reference tocv::DescriptorMatcher::create(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:87: undefined reference to cv::noArray()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:88: undefined reference tocv::noArray()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:97: undefined reference to cv::noArray()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:97: undefined reference tocv::DescriptorMatcher::match(cv::_InputArray const&, cv::_InputArray const&, std::vector<cv::DMatch, std::allocator >&, cv::_InputArray const&) const' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:78: undefined reference to cv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:78: undefined reference tocv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:78: undefined reference to cv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:78: undefined reference tocv::Mat::~Mat()' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In function pose_estimation_2d2d(std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >, std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >, std::vector<cv::DMatch, std::allocator<cv::DMatch> >, cv::Mat&, cv::Mat&)': D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:133: undefined reference tocv::Mat::Mat(cv::Mat&&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:145: undefined reference to cv::Mat::Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:146: undefined reference tocv::noArray()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:146: undefined reference to cv::findFundamentalMat(cv::_InputArray const&, cv::_InputArray const&, int, double, double, cv::_OutputArray const&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:146: undefined reference tocv::Mat::operator=(cv::Mat&&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:146: undefined reference to cv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:152: undefined reference tocv::Mat::Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:153: undefined reference to cv::noArray()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:153: undefined reference tocv::findEssentialMat(cv::_InputArray const&, cv::InputArray const&, double, cv::Point, int, double, double, int, cv::_OutputArray const&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:153: undefined reference to cv::Mat::operator=(cv::Mat&&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:153: undefined reference tocv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:158: undefined reference to cv::Mat::Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:159: undefined reference tocv::noArray()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:159: undefined reference to cv::findHomography(cv::_InputArray const&, cv::_InputArray const&, int, double, cv::_OutputArray const&, int, double)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:159: undefined reference tocv::Mat::operator=(cv::Mat&&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:159: undefined reference to cv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:164: undefined reference tocv::noArray()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:164: undefined reference to cv::recoverPose(cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, double, cv::Point_<double>, cv::_InputOutputArray const&)' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:158: undefined reference tocv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:152: undefined reference to cv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:145: undefined reference tocv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:133: undefined reference to cv::Mat::~Mat()' D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:146: undefined reference tocv::Mat::~Mat()' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o:D:\slambook2-master\ch7/pose_estimation_2d2d.cpp:153: more undefined references to cv::Mat::~Mat()' follow C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In functioncv::MatConstIterator::MatConstIterator(cv::Mat const
)': E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:2277: undefined reference to cv::Mat::empty() const' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:2277: undefined reference tocv::error(int, std::__cxx11::basic_string<char, std::chartraits, std::allocator > const&, char const, char const, int)' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:2279: undefined reference to cv::Mat::total() const' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:2281: undefined reference tocv::MatConstIterator::seek(int const*, bool)' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In function cv::MatConstIterator::operator++()': E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:2378: undefined reference tocv::MatConstIterator::seek(long long, bool)' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In function cv::MatExpr::operator cv::Mat() const': E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:3077: undefined reference tocv::Mat::Mat()' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:3079: undefined reference to cv::Mat::~Mat()' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In functioncv::Mat::~Mat()': E:/opencv/build/install/include/opencv2/core/mat.hpp:2198: undefined reference to cv::Mat::~Mat()' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In functioncv::MatExpr::~MatExpr()': E:/opencv/build/install/include/opencv2/core/mat.hpp:3554: undefined reference to cv::Mat::~Mat()' E:/opencv/build/install/include/opencv2/core/mat.hpp:3554: undefined reference tocv::Mat::~Mat()' E:/opencv/build/install/include/opencv2/core/mat.hpp:3554: undefined reference to cv::Mat::~Mat()' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In functioncv::Mat::Mat(int, int)': E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1288: undefined reference to cv::Mat::Mat(int, int, int)' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In functioncv::Mat::Mat(cv::Mat const&)': E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1338: undefined reference to cv::Mat::Mat()' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1338: undefined reference tocv::Mat::~Mat()' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In function `cv::Mat::operator=(cv::Mat const&)': E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1428: undefined reference to cv::Mat::empty() const' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1435: undefined reference tocv::Mat::operator=(cv::Mat const&)' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1440: undefined reference to cv::Mat::reshape(int, int, int const*) const' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1440: undefined reference tocv::Mat::~Mat()' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1442: undefined reference to cv::Mat::empty() const' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1442: undefined reference tocv::error(int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const, char const, int)' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1443: undefined reference to cv::Mat::convertTo(cv::_OutputArray const&, int, double, double) const' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1440: undefined reference tocv::Mat::~Mat()' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In function cv::Mat_<double>::release()': E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1483: undefined reference tocv::Mat::release()' C:\Users\user\AppData\Local\Temp\ccJc2ecU.o: In function cv::Mat_<double>::operator=(cv::Mat&&)': E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1832: undefined reference tocv::Mat::empty() const' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1839: undefined reference to cv::Mat::operator=(cv::Mat&&)' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1844: undefined reference tocv::Mat::reshape(int, int, int const*) const' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1844: undefined reference to cv::Mat::operator=(cv::Mat&&)' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1844: undefined reference tocv::Mat::~Mat()' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1848: undefined reference to cv::Mat::convertTo(cv::_OutputArray const&, int, double, double) const' E:/opencv/build/install/include/opencv2/core/mat.inl.hpp:1844: undefined reference tocv::Mat::~Mat()' collect2.exe: error: ld returned 1 exit status