Vitis HLS出现undefined reference to的可能解决办法

这篇具有很好参考价值的文章主要介绍了Vitis HLS出现undefined reference to的可能解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:

undefined reference to `cv::namedWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'

undefined reference to `cv::resizeWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)'

undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'

undefined reference to `cv::waitKey(int)'

undefined reference to `cv::destroyAllWindows()'

最近在使用Vitis HLS构建图像处理框架时遇到了如下图所示的问题:

undefined reference to `cv::imshow,opencv,计算机视觉,fpga开发

 明明已经包含了所需要的库目录,且错误的地方(90~94行)在源代码出也没有高亮错误提示:

undefined reference to `cv::imshow,opencv,计算机视觉,fpga开发

 解决办法:

由于源代码处错误的地方没有高亮划线提示,那猜测应该不是库目录包含的问题,那么剩下的只有链接库链接可能存在问题,但链接库的linker Flag是按官方教程配置的,链接如下:

https://xilinx.github.io/Vitis_Libraries/vision/2022.1/overview.html#getting-started-with-hls

Linker Flag 的配置如下:

undefined reference to `cv::imshow,opencv,计算机视觉,fpga开发

我的Simulation  Setting 如下所示:

undefined reference to `cv::imshow,opencv,计算机视觉,fpga开发

Linker Flag的地方是:-LF:/Xilinx/OpenCV/opencv/build_cmake/install/x64/mingw/lib -lopencv_core455 -lopencv_imgcodecs455 -lopencv_imgproc455

可以看到Linker Flag和官方描述的是一致的(需要加上自己的opencv版本号)。于是我查看了我的OpenCV/opencv/build_cmake/install/x64/mingw/lib目录如下:

undefined reference to `cv::imshow,opencv,计算机视觉,fpga开发

 所以我大胆尝试将该目录下的其他链接文件添加进linker Flag里面试试,我修改llinker Flag为如下:-L F:/Xilinx/OpenCV/opencv/build_cmake/install/x64/mingw/lib -lopencv_core455 -lopencv_imgcodecs455 -lopencv_imgproc455 -lopencv_highgui455 -lopencv_photo455 -lopencv_video455 -lopencv_highgui455 -lopencv_plot455

(由于我也不知道需要哪些链接库,所以我就只添加了一些看着眼熟的。。。。。。。。。,如果还是报错,可以将lib目录下的所有链接文件添加至Linker Flag)

然后保存重新进行Run C Simulation如下:

(Clean Build 表示先清除之前构建的一些文件)

undefined reference to `cv::imshow,opencv,计算机视觉,fpga开发

 然后奇迹般的"undefined reference to"错误居然消失了(有种歪打正着的感觉:))

最后运行出来的结果如下(例子是灰度图转换):

undefined reference to `cv::imshow,opencv,计算机视觉,fpga开发

undefined reference to `cv::imshow,opencv,计算机视觉,fpga开发

 虽然从命令框里看还存在一些Warning如下(也不知道怎么解决,解决了的大佬记得联系我):

undefined reference to `cv::imshow,opencv,计算机视觉,fpga开发

 但程序最后还是能运行的,也正确编译出了csim.exe,于是在此记录使用Vitis HLS时遇到的大坑。文章来源地址https://www.toymoban.com/news/detail-782065.html

到了这里,关于Vitis HLS出现undefined reference to的可能解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包