其他分享
首页 > 其他分享> > 解决使用vivadoHLS视频库ug1233教程49页编译失败

解决使用vivadoHLS视频库ug1233教程49页编译失败

作者:互联网

问题描述

在使用vivadoHLS视频库ug1233教程的时候,按照49页的教程创建工程,使用dilation例子的时候,编译错误,如下:

INFO: [SIM 4] CSIM will launch GCC as the compiler.
   Compiling ../../../xf_dilation_tb.cpp in debug mode
   Compiling ../../../xf_dilation_accel.cpp in debug mode
   Generating csim.exe
Makefile.rules:399: recipe for target 'csim.exe' failed
...
obj/xf_dilation_tb.o:xf_dilation_tb.cpp:(.text+0x677): undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
obj/xf_dilation_tb.o:xf_dilation_tb.cpp:(.text+0x8db): undefined reference to `cv::imwrite(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
obj/xf_dilation_tb.o:xf_dilation_tb.cpp:(.text+0xabe): undefined reference to `cv::imwrite(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
collect2.exe: error: ld returned 1 exit status
make: *** [csim.exe] Error 1
ERR: [SIM 100] 'csim_design' failed: compilation error(s).
INFO: [SIM 3] *************** CSIM finish ***************

问题解决

在project->settings中给tb文件添加CFLAGS:-D_GLIBCXX_USE_CXX11_ABI=0即可。
原因:
注意上面的那个__cxx11。旧版本编译器编译出来的代码中,不会有这个符号。
用于编译该代码的gcc编译器的版本是5.5.0,而该代码所需要的opencv所使用的编译器的版本是4.8.0。
参考:

https://blog.csdn.net/qq_29695701/article/details/89213984

标签:std,const,..,49,xf,vivadoHLS,tb,ug1233,dilation
来源: https://blog.csdn.net/weixin_43865957/article/details/110871168