GCC未定义的符号

时间:2010-02-08 19:14:39

标签: c macos llvm llvm-gcc

我最近放弃了Homebrew的MacPorts,因此我现在遇到make的一些问题。即这个错误:

/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时的输出

2 个答案:

答案 0 :(得分:2)

似乎没有链接到libiconv,你给命令行提供了-liconv,因此似乎没有安装库,或者至少在标准位置没有链接器可用。你有libiconv安装吗?

答案 1 :(得分:1)

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