rk3588 debian11编译opencv-4.5.1调用opencl mali,编译出现错误/usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/10/../../../aarch64-linux-gnu/libmali.so.1: .dynsym local symbol at index 3 (>= sh_info of 3)
时间: 2023-07-05 11:27:48 浏览: 302
RK3588 使用OpenCL 遇到坑
这个错误通常表示链接器无法正确处理 libmali.so 库中的某些符号。有时,这可能是由于符号版本不兼容引起的。您可以尝试使用以下方法解决这个问题:
1. 升级 libmali.so 库和相关的依赖项,以确保它们都是最新的版本,并且与您的系统和其他库兼容。
2. 在使用 OpenCV 进行编译时,指定链接器选项 `-Bsymbolic`,这个选项会告诉链接器在链接时尽可能使用本地符号,而不是全局符号。您可以在 CMake 中使用以下方式来添加这个选项:
```cmake
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-Bsymbolic")
```
3. 如果上述方法均无法解决问题,您可以尝试在链接时排除 libmali.so 库。例如,您可以使用以下选项排除该库:
```
-Wl,--exclude-libs,/usr/lib/gcc/aarch64-linux-gnu/10/../../../aarch64-linux-gnu/libmali.so.1
```
请注意,在进行任何更改之前,请备份您的系统和数据,以防止意外数据丢失或损坏。
阅读全文