我正在尝试使用g ++的另一个libc编译我的c ++代码。
为此,我使用了rpath选项来提供新libc的路径。
我还提供了dynamic-linker选项来提供相应的链接器。
问题是我收到此错误:
path_to_old_libc/crt1.o: In function `_start': undefined reference to `__libc_csu_fini'
因此,我还必须提供位于path_to_new_libc中的新crt文件的路径
问题是我在手册中看不到任何允许这样做的选项。我虽然使用了nostartupfile
或nostdlib
选项,但这只会忽略我不需要的crt文件。
到目前为止,编译看起来像这样:
g++ -Wl,--dynamic-linker=/.../.../.../glibc-2.22/build/elf/ld-linux-x86-64.so.2 -Wl,-rpath,/buildroot/output/build/glibc-2.22/build ...
因此,我正在寻找一种添加正确的crt文件的方法。
预先感谢您的帮助