我遇到的问题是链接器没有找到某些库的符号链接:
ld: warning: library.so.1, needed by libSDL2.so, not found (try using -rpath or -rpath-link)
我遇到了4个库的问题:libdl
,libm
,libc
,libpthread
。
我设法通过Link Shell Extension创建符号链接来解决前两个库的问题:
libdl.so.1 ==> libdl.so
(libdl.so.1
是libdl.so
)的符号链接
libm.so.1 ==> libm.so
(libm.so.1
是libm.so
)的符号链接
然而,这对其他2个图书馆没有用处(仍然有完全相同的警告)。
有问题的库(libc.so
和libpthread.so
)与其他库不同,因为它们是链接器脚本(而不是二进制文件)。例如,libc.so
:
/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( /lib/arm-linux-gnueabihf/libc.so.6 /usr/lib/arm-linux-gnueabihf/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) )
所以我的猜测是,它们的符号链接需要不同(或创建不同......)
有什么想法吗?
我正在使用这个编译器:arm-linux-gnueabihf-gcc来交叉编译在Windows上编写的ARM内容。