C ++使用g ++与另一个libc链接-指定正确的crt文件

时间:2018-12-20 05:22:05

标签: c++ g++ cross-compiling

我正在尝试使用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文件的路径
问题是我在手册中看不到任何允许这样做的选项。我虽然使用了nostartupfilenostdlib选项,但这只会忽略我不需要的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文件的方法。

预先感谢您的帮助

0 个答案:

没有答案