c++ - 我可以在 MacOS X 10.11 上让 gcc/g++ 指向 ACTUAL gcc/g++ 吗?

标签 c++ macos c++11 gcc g++

这真的很烦人。出于某种原因,在 MacOS X 10.11(可能还有以前的版本)上有 gccg++ 命令(在 /usr/bin 中,它们不是别名左右),当使用 -v 参数执行时,给出:

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.2.0
Thread model: posix

所以看起来他们实际上执行了 apple 的 clang 和 clang++ 编译器。现在,当我从终端和通过 makefile 调用这些命令时,我真的需要我的计算机执行 gcc 和 g++。

有两个原因:

  1. 我喜欢让我的电脑做我要求它做的事。
  2. 显然 clang++ 使用与 g++ 不同的 c++ 标准库编译东西,当我用 g++-5 (实际 g++,通过自制软件安装)编译和链接我的东西时,这导致我遇到问题CppUnit。

有人知道让 gccg++ 实际调用 gcc 和 g++ 的最佳方法是什么吗?

最佳答案

在您的 PATH 中,在 /usr/bin 之前,包含一个名为 gcc 的符号链接(symbolic link)的目录指向 /.../bin/gcc-5

据我所知,最新的 Mac OS X 不允许您更改 /usr,因此这种保守的解决方案是唯一可用的。

when I invoke those commands, both from the terminal and through makefiles.

如果您在 .profile 中调整 PATH 变量,这两种情况都会被覆盖。

关于c++ - 我可以在 MacOS X 10.11 上让 gcc/g++ 指向 ACTUAL gcc/g++ 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34464926/

相关文章:

c++ - 我目前正在创建我的第一个 Windows 设备驱动程序 "Hello world."事件。我正在使用 Microsoft Visual Studio 2012。

c++ - 如何使用位域从 C++ 结构中提取值

C++ 获取 std::out_of_range 异常的位置

linux - eventfd 的 OS X 替代品

java - (Java) 正确使用命令行执行

c++ - 使用自己的类名来解析推断上下文中的类型

c++ - 辅助函数 : lambdas vs normal functions

c++ - 现代 C++ 中有命名参数吗?

macos - Vim 错误 E492 - 不是编辑器命令 : PluginInstall

c++ - 使用 SFINAE 进行结构定义