GCC未定义符号

问题描述:

我最近放弃了MacPorts的Homebrew,因此我现在遇到make的一些问题。也就是这个错误:GCC未定义符号

/Developer/usr/bin/llvm-gcc -rdynamic -o zsh main.o `cat stamp-modobjs` -liconv -ldl -ltermcap -lm -lc 
Undefined symbols: 
    "_libiconv_open", referenced from: 
     llvm bitcode in utils.o 
    "_libiconv_close", referenced from: 
     llvm bitcode in utils.o 
    "_libiconv", referenced from: 
     llvm bitcode in utils.o 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 
make[1]: *** [zsh] Error 1 
make: *** [install.bin] Error 2 

看来这三个库都没有关联或者什么的。说实话,我是一个Ruby开发人员,从来不需要编译任何东西,所以不知道该怎么去解决这个问题。它发生在我从源代码编译任何东西时。

在上面的例子是输出运行make当安装zsh

你为什么使用llvm-gcc?为了获得最大的兼容性,你最好使用gcc-4.0或gcc-4.2,它们都作为OS X 10.6开发工具的一部分安装。

+0

我想这必须是Homebrew(包管理器)正在使用的工具。不知道如何解决这个问题...和想法被赞赏。 – 2010-02-08 22:36:48

+0

Welp ...我结束了只是升级xcode。这工作。 – 2010-02-14 21:24:31

的时候似乎libiconv的则没有链接,您确实提供-liconv到命令行,所以它似乎库未安装或至少对标准位置中的链接器不可用。你有没有安装libiconv?

+0

Homebrew - > http://github.com/mxcl/homebrew – 2010-02-08 19:39:58

+0

啊,谢谢内德,我推测自制就像从零开始......问题中的一个链接可能不错...... – wich 2010-02-08 19:43:22