我在嵌入式环境中工作。我有一个用于 ARM 架构的交叉编译器,eglibc
它是主要库(即libc
工具链附带的默认库)。现在我想要一些应用程序链接到uClibc
. 所以我uClibc
用那个工具链编译。现在在尝试用 编译和链接应用程序时uClibc
,出现错误。它与工具链的默认库链接。我认为在同一台机器上可能有两个不同的 libcs(例如 libc、uClibc)。
我在网上搜索并附带以下内容
-
正如它所建议的,我做了以下
$arm-unknown-linux-gnueabi-gcc -c test.c -o TEST $arm-linux-gnueabi-gcc TEST -o dynamic_test_with_new_opts -Wl,rpath=/home/user/UCLIBC/uClibc-0.9.32.1/INSTALL-DIR/usr/arm-linux-uclibc/lib -Wl,-dynamic-linker=/home/user/UCLIBC/uClibc-0.9.32.1/INSTALL-DIR/usr/arm-linux-uclibc/lib/ld-uClibc.so.0
在这种情况下,它与默认
libc.so.6
的eglibc
-
正如上面的链接所建议的,我什至尝试了以下方法:
$arm-unknown-linux-gnueabi-gcc -Xlinker -rpath=/home/user/UCLIBC/uClibc-0.9.32.1/INSTALL-DIR/usr/arm-linux-uclibc/lib -Xlinker -I/home/user/UCLIBC/uClibc-0.9.32.1/INSTALL-DIR/usr/arm-linux-uclibc/lib/ld-uClibc-0.9.32.1.so test.c -o dynamic_test_with_linker_options
在这种情况下,它也与默认值相关
libc.so.6
联eglibc
我哪里错了?我真的陷入了困境。有人可以阐明一下吗?