error: no matching function for call to ‘sort(…)
error: ‘ptangle’ does not name a type auto ptangle = [](const Point2f &p1, const Point2f &p2) {
error: no matching function for call to ‘std::vector<cv::Point3_ >::vector()’
ubuntu16.04 编译 C++ 代码出错
错误内容:
error: no matching function for call to ‘sort(…)
error: ‘ptangle’ does not name a type auto ptangle
error: no matching function for call to ‘std::vector<cv::Point3_ >::vector()’
错误起因:
将 Windows 系统 VS 下调试好的 C++ 代码移植到装有 Ubuntu16.04 的开发板,编译时报以上错误。
解决方法:
重新改写 Makefile 文件,在 “ g++ ” 后紧跟着添加语句 “ -std=c++11 -g ”,方可成功编译。因为 Ubuntu16.04 系统默认的 C++ 版本过低,auto关键字是自C++11版本开始使用的。
g++ -std=c++11 -g