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 OS X上安装MySQL的位置
  • 如何检查iOS或OSX上的活动Internet连接?
  • 在Mac OS X上由Docker(1.9.1)下载的Docker镜像的位置
  • 安装Java JDK 7之后对于Mac OS X - mvn -version仍然显示java版本1.6.0_31
  • Xcode:无法检查应用程序包
  • Linux相当于Mac OS X的“开放”命令
  • jvisualvm去了哪里?
  • 未加载OS X框架库:“未find图像”
  • 在Mac OS X下纠正Apache 2站点文件/文件夹的所有者/组/权限?
  • 如何在Mac OS上安装MySQL?
  • 在MAC OS X上安装ADB