如何在 MacOS 中获取真正的 gcc(不是散列到 clang 的 gcc)?

如何在 MacOS 中获取真正的 gcc(不是散列到 clang 的 gcc)?

我正在尝试编译一个使用 OpenSSL 库的程序。我遇到了一个问题,找不到头文件。我通过-I /usr/local/opt/openssl/include添加选项解决了这个问题gcc。之后,我遇到了另一个问题,那就是链接器不理解某些符号。这是我得到的错误:

Undefined symbols for architecture x86_64:
  "_MD5", referenced from:
      _main in md5-b35556.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我用谷歌搜索了这个错误,得到了很多结果,要么只适用于 C++,要么只适用于具有多个模块的程序,等等。最后,我找到了可能解决我的问题的方法,那就是gcc散列到clangon MacOS(我使用的是 El Capitain)。

所以基本上,现在我需要找到真正的gcc可执行文件,然后使用我的文件中的命令将gcc命令重定向到该文件。我在文件系统中哪里可以找到这个可执行文件,还是需要从 Internet 安装它?alias.bashrc

注意:在尝试使用 ncurses 库时我遇到了同样的问题。

答案1

Apple Macos 使用 clang 作为 gcc 编译器,主要是因为 gcc 许可。你可以安装GNU gcc使用酿造。没有苹果程序安装 GNU gcc,但您可以手动安装并配置为默认使用它。

相关内容