C++ GCC的自定义(musl)生成找不到LD

C++ GCC的自定义(musl)生成找不到LD,c++,c,gcc,linker,musl,C++,C,Gcc,Linker,Musl,我随后创建了一个基于MUSL的静态GCC、libc和libstdc++ 生成目录:/home/user/musl\u gcc/ 当我试图创建一个简单的测试C程序,并在没有参数的情况下编译它时,我得到以下错误: [user@Arch]: ~/musl_gcc/amd64-linux-musl/bin>$ cat test.c #include <stdio.h> #include <unistd.h> int main() { puts("Test");

我随后创建了一个基于MUSL的静态GCC、libc和libstdc++

生成目录:
/home/user/musl\u gcc/

当我试图创建一个简单的测试C程序,并在没有参数的情况下编译它时,我得到以下错误:

[user@Arch]: ~/musl_gcc/amd64-linux-musl/bin>$ cat test.c
#include <stdio.h>
#include <unistd.h>

int main()
{
    puts("Test");
    _exit(0); // return 0 leads to a segfault (unsure why)
}

[user@Arch]: ~/musl_gcc/amd64-linux-musl/bin>$ ./amd64-linux-musl-gcc test.c
collect2: fatal error: cannot find 'ld'
compilation terminated.
[user@Arch]: ~/musl_gcc/amd64-linux-musl/bin>$ which ld
/usr/bin/ld
[user@Arch]: ~/musl_gcc/amd64-linux-musl/bin>$ `!!` -v
`which ld` -v
GNU ld (GNU Binutils) 2.29.1

不过。这对我没什么用处。我最终想让它与C++应用程序一起工作,这些应用程序使用CMASE作为构建环境,但这是一个乏味的“查找库”的猫捉老鼠游戏。我如何指定要使用的链接器?我原以为是
LD
环境变量,但事实证明这是徒劳的。

相关:这可能就是我所需要的。“链接器不指向自定义构建的链接器,我也不希望它指向”-你为什么不希望这样?我认为,如果gcc驱动程序不知道如何查找和运行适当的组件部件,您的工具链就会断开。它只是说“找不到'ld'”,但当我执行
哪个ld
,它不会显示自定义链接器的路径。我不希望这样,因为,除了教程之外,它不是名为
ld
@PeterJ_01,我提出这个问题的原因是提示OP在GCC的构建选项中寻找合适的配置设置。我不知道是否真的有,但我看到了希望的理由。如果OP没有能力亲自寻找这样的东西,那么这将是一个不同的问题,但我认为在这方面也有希望的理由。
[user@Arch]: ~/musl_gcc/amd64-linux-musl/bin>$ ./amd64-linux-musl-gcc test.c -c
[user@Arch]: ~/musl_gcc/amd64-linux-musl/bin>$ ./amd64-linux-musl-ld test.o -L../lib/ -lc -o test
./amd64-linux-musl-ld: warning: cannot find entry symbol _start; defaulting to 00000000004000e8
[user@Arch]: ~/musl_gcc/amd64-linux-musl/bin>$ ./test
Test
[user@Arch]: ~/musl_gcc/amd64-linux-musl/bin>$