所以我在Windows上为linux arm os交叉编译opencv应用程序。
我在Eclipse中使用最新的linaro工具链。
我在目标操作系统上构建了opencv,并使用构建的库将它们放在linaro的库中。
我的应用程序的编译和链接适用于目标操作系统。
编译适用于Eclipse,但某些特定链接失败 highgui库中的opencv函数:
错误:
main.cpp:79: undefined reference to `cv::imread(std::string const&, int)'
main.cpp:235: undefined reference to `cv::putText(cv::Mat&, std::string const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
main.cpp:237: undefined reference to `cv::putText(cv::Mat&, std::string const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
请注意:我正在使用其他库中的许多其他opencv函数,这些函数可以编译和链接(我通过注释与错误和重新编译相关的三行来测试)。甚至highgui库上的一些函数链接都很好......所以问题似乎来自highgui库中的特定函数。
我确信我使用的库与目标臂OS上使用的库相同,但编译参数与目标操作系统相同。
我已经看过其他一些关于此事的帖子(Cross compiling opencv app, undefined reference to),但没有找到解决方案。
你有什么想法吗?谢谢!