Недавно работал с некоторыми OpenCV, однако у меня возникла интересная проблема. У меня есть простой класс для хранения данных и чтения и записи данных в файл.OpenCV undefined reference (FileStorage с вектором <KeyPoint>)
Вот функция записи:
cv::Mat descriptors;
vector<cv::KeyPoint> keypoints;
void EventType::write(cv::FileStorage outfile) {
outfile << "descriptorId" << descriptors;
outfile << "keypointId" << keypoints;
}
от выпуска arrises в то время как связывающие:
EventType.cpp.o: In function cv::FileStorage& cv::operator<< <std::vector<cv::KeyPoint,
std::allocator<cv::KeyPoint> > >(cv::FileStorage&, std::vector<cv::KeyPoint,
std::allocator<cv::KeyPoint> > const&)':
EventType.cpp:(.text+0xc99): undefined reference to `cv::write(cv::FileStorage&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&,
std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> > const&)'
Однако также при связывании он предлагает следующие альтернативы:
/opencv2/core/operations.hpp:2707: note: candidates are: void cv::write(cv::FileStorage&, const std::string&, int)
/opencv2/core/operations.hpp:2708: note: void cv::write(cv::FileStorage&, const std::string&, float)
/opencv2/core/operations.hpp:2709: note: void cv::write(cv::FileStorage&, const std::string&, double)
/opencv2/core/operations.hpp:2710: note: void cv::write(cv::FileStorage&, const std::string&, const std::string&)
/opencv2/core/operations.hpp:2787: note: void cv::write(cv::FileStorage&, const cv::Range&)
/opencv2/core/operations.hpp:2856: note: void cv::write(cv::FileStorage&, const std::string&, const cv::Range&)
/opencv2/core/operations.hpp:2902: note: void cv::write(cv::FileStorage&, const std::string&, const cv::Mat&)
/opencv2/core/operations.hpp:2903: note: void cv::write(cv::FileStorage&, const std::string&, const cv::SparseMat&)
/opencv2/features2d/features2d.hpp:112: note: void cv::write(cv::FileStorage&, const std::string&, const std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> >&)
Это, как представляется, что прототип в /opencv2/features2d/features2d.hpp
- идеальное совпадение. Какие-либо предложения?
Спасибо, это помогло мне отследить проблему. :) – Kazz