【问题标题】:GCC Undefined symbolsGCC 未定义的符号
【发布时间】:2010-02-08 19:14:39
【问题描述】:

我最近为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 开发人员,从不需要编译任何东西,所以真的不知道去哪里解决这个问题。当我从源代码编译任何东西时就会发生这种情况。

在上面的示例中,这是安装zsh时运行make时的输出

【问题讨论】:

    标签: c macos llvm llvm-gcc


    【解决方案1】:

    似乎 libiconv 未链接,您确实向命令行提供了 -liconv,因此该库似乎未安装,或者至少对于标准位置的链接器不可用。你有安装 libiconv 吗?

    【讨论】:

    • 啊,谢谢内德,我认为自制软件是从头开始的...问题中指向软件包的链接可能很好...
    【解决方案2】:

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

    【讨论】:

    • 我想这一定是 Homebrew(包管理器)正在使用的工具。不知道如何解决这个问题……我们很感激你的想法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    相关资源
    最近更新 更多