Toybrick

RGA github例程immakeBorder函数 链接不到,出现undefined reference

alexanderdumas

注册会员

积分
147
楼主
发表于 2023-10-26 15:47:44    查看: 2622|回复: 3 | [复制链接]    打印 | 只看该作者
本帖最后由 alexanderdumas 于 2023-10-26 16:19 编辑

用的最新的github的librga
https://github.dev/airockchip/li ... a_cvtcolor_demo.cpp

在rk3588X上编译,ld不到immakeBorder,编译情况如下:
Scanning dependencies of target utils_obj
[ 20%] Building CXX object CMakeFiles/utils_obj.dir/home/linaro/wqb/librga/samples/utils/allocator/dma_alloc.cpp.o
[ 60%] Building CXX object CMakeFiles/utils_obj.dir/home/linaro/wqb/librga/samples/utils/allocator/drm_alloc.cpp.o
[ 60%] Building CXX object CMakeFiles/utils_obj.dir/home/linaro/wqb/librga/samples/utils/utils.cpp.o
[ 60%] Built target utils_obj
Scanning dependencies of target rga_padding_demo
[ 80%] Building CXX object src/CMakeFiles/rga_padding_demo.dir/rga_padding_demo.cpp.o
[100%] Linking CXX executable rga_padding_demo
/usr/bin/ld: CMakeFiles/rga_padding_demo.dir/rga_padding_demo.cpp.o: in function `main':
rga_padding_demo.cpp: (.text.startup+0x320): undefined reference to `immakeBorder(rga_buffer_t, rga_buffer_t, int, int, int, int, int, int, int, int, int*)'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/rga_padding_demo.dir/build.make:109:src/rga_padding_demo] 错误 1
make[1]: *** [CMakeFiles/Makefile2:142:src/CMakeFiles/rga_padding_demo.dir/all] 错误 2
make: *** [Makefile:149:all] 错误 2
[ 60%] Built target utils_obj
[ 80%] Linking CXX executable rga_padding_demo


===============================》查看例程的so看下:
nm -D /home/linaro/wqb/librga/samples/resize_demo/../../libs/Linux/gcc-aarch64/librga.so |grep immakeBorder
显示如下:
000000000001d6d0 T _Z12immakeBorder12rga_buffer_tS_iiiiiiiiPi

两个so我都尝试了,一个是系统已经在在/usr/lib/aarch64-linux-gnu。一个是github自带的so。都试过了。都ld有问题。
其他的reszie和cvtcolor未出现ld错误。

目的就是想替换opencv的copyMakeBorder。
有个变通的想法。就是resize之后,然后放到copy到一个图的中间,请问用哪个函数呢?

回复

使用道具 举报

jefferyzhang

版主

积分
13574
沙发
发表于 2023-10-26 17:05:25 | 只看该作者
so链接错了吧
回复

使用道具 举报

alexanderdumas

注册会员

积分
147
板凳
 楼主| 发表于 2023-10-27 07:25:50 | 只看该作者

我确定没有链接错误,因为使用其他得imresize和imcolor都可以。有两个so。一个是系统自带得,一个是github上有得(github没有源码,只提供了so)。都试过了,就是不行。要不你们试一下那个demo程序?


我用resize和improcess实现了类似得功能,但是填充部分是黑色得。填充部分我想用灰色得(类似opencv得cv::Scalar(128,128,128)。怎么弄呢?是improcess改后面得参数?



回复

使用道具 举报

jefferyzhang

版主

积分
13574
地板
发表于 2023-10-28 13:10:50 | 只看该作者
alexanderdumas 发表于 2023-10-27 07:25
我确定没有链接错误,因为使用其他得imresize和imcolor都可以。有两个so。一个是系统自带得,一个是githu ...

我们当然自己试过,我让rga负责人确认过了,github代码没有任何问题,其他客户也没有遇到这种问题。
github为什么没提供源码?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表