ld:在OSX 10.6上使用gcc / clang -static标志找不到-lcrt0.o的库

当我尝试构build以下程序时:

#include <stdio.h> int main(void) { printf("hello world\n"); return 0; } 

在OS X 10.6.4上,使用以下标志:

 gcc -static -o blah blah.c 

它返回这个:

 ld: library not found for -lcrt0.o collect2: ld returned 1 exit status 

有没有其他人遇到过这个问题,还是没有其他人受到影响? 任何修复?

谢谢

2 Solutions collect form web for “ld:在OSX 10.6上使用gcc / clang -static标志找不到-lcrt0.o的库”

这是行不通的。 从gccman页:

除非所有库(包括libgcc.a)都已经使用-static编译,否则此选项在Mac OS X上将不起作用。 由于既没有提供静态版本的libSystem.dylib也没有提供crt0.o,所以这个选项对于大多数人来说是没有用的。

您也可以尝试LLVM LLD链接器 – 我为我的两个主要操作系统预编译了版本 – https://github.com/VerKnowSys/Sofin-llds

这个允许我正确地链接例如:“Qemu” – 这是苹果预装的ld不可能的。

最后一个是 – 用libstdc ++自己构buildGCC(不要)。

  • 如何在Mac上启动MonoDevelop的多个实例?
  • 如何正确地停止phantomjs执行
  • 更新OSX上的GCC
  • “EXC_BREAKPOINT(SIGTRAP)”由debugging断点引起的exception吗?
  • 用Python中的默认应用程序打开文档
  • 如何使用命令行工具为Mac OS X创build漂亮的DMG?
  • 安装Apple的networking链接调节器工具
  • 如何在Mac OS X上安装pdftk
  • 如何closuresMac上terminal的开放端口?
  • 升级到OSX 10.7 Lion后修复Postgresql
  • 将换行格式从Mac转换到Windows