C 未定义符号
我最近放弃了MacPorts,结果我现在遇到了一些关于C 未定义符号,c,macos,llvm,llvm-gcc,C,Macos,Llvm,Llvm Gcc,我最近放弃了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_
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
时的输出,似乎libiconv未链接到中,但您确实向命令行提供了-liconv,因此该库似乎未安装,或者至少链接器在标准位置不可用。您是否安装了libiconv?为什么要使用llvm gcc?为了获得最大的兼容性,您最好使用gcc-4.0或gcc-4.2,它们都是作为OS X 10.6中开发人员工具的一部分安装的。啊,谢谢Ned,我认为自制是从头开始的。。。问题中的一个指向软件包的链接可能很好……我想那一定是Homebrew(软件包管理器)正在使用的工具。不知道该怎么解决这个问题。。。我很欣赏你的想法。