cc 调用标准 cc,即使我说“export CC=/path/to/other/compiler。这怎么可能?

cc calls standard cc even though I said "export CC=/path/to/other/compiler. How can that be?

我在 Ubuntu(Intel 处理器)上,尝试使用 Realtek CPU 为服务器交叉编译。我安装了交叉编译开发包。我可以启动交叉编译 gcc。现在,为了配置和使用新的编译器,我说:

export CC=/path/to/cross-compiler

但是当我在 bash 中说 cc 时,它仍然调用系统 vanilla gcc。我可能做错了什么?

cc 总是调用系统 cc,这是预期的行为。

CC 变量被 Makefile、构建脚本和配置脚本使用,以建议它们 运行 不同的可执行文件。它 not 用于允许任何东西 运行 cc 可执行文件并以某种方式被重定向。

如果要手动调用交叉编译器,请使用/path/to/cross-compiler -o foo foo.c。如果您有硬编码的脚本或命令 cc,它已损坏且必须修复。