1. error: undefined reference to 'dlsym':
solution: target_link_libraries(target -lpthread -ldl)
https://www.cnblogs.com/midnightcat/p/12704247.html
c++ - Undefined reference to 'dlsym' - Stack Overflow
2. .dynsym local symbol at index 3 (>= sh_info of 3)
solution: sudo ln -sf /usr/bin/x86_64-linux-gnu-ld.gold /usr/bin/ld
https://blog.csdn.net/qq_32640443/article/details/123479850?spm=1001.2014.3001.5501
3. 多个.a库合并成一个.a库
.a 文件的结构和.tar文件就没有什么区别。 x 命令解出来, a 命令添加, t命令列表
假设A.a, B.a C.a 在/usr/local/lib目录下
mkdir /tmp/libABC
cd /tmp/libABC
ar x /usr/local/lib/A.a
ar x /usr/local/lib/B.a
ar x /usr/local/lib/C.a
ar rc libABC.a *.o
4. redefinition of 'class XXX' :
example:
/workspace/Release_2309TLS-public/RC2/sophon-app/3rdparty/inih/include/INIReader.h:42:7: error: redefinition of ‘class INIReader’
42 | class INIReader
| ^~~~~~~~~
In file included from /workspace/Release_2309TLS-public/RC2/sophon-app/include/processor.h:37,
from /workspace/Release_2309TLS-public/RC2/sophon-app/src/resnet50_sail_main.cpp:17:
/workspace/Release_2309TLS-public/RC2/sophon-app/3rdparty/sophon-sail/include/sail/inireader.hpp:312:7: note: previous definition of ‘class INIReader’
312 | class INIReader
| ^~~~~~~~~
answer:
#ifdef USE_SOPHON_SAIL #include "inireader.hpp" #else #include <INIReader.h> #endif
这种问题是因为两个依赖库头文件定义了相同类,解决问题的策略有很多,如上只是其中一种
5. GLIBC_X.XX not found
./sophon-app.soc
./sophon-app.soc: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./sophon-app.soc)
./sophon-app.soc: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./sophon-app.soc)
./sophon-app.soc: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./sophon-app.soc)
./sophon-app.soc: /lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./sophon-app.soc)
answer:
g++ gcc版本不一样想办法环境想办法
搞一样