【问题标题】:clang compiler not working on terminal Mac OSXclang 编译器在终端 Mac OSX 上不起作用
【发布时间】:2016-09-20 05:53:06
【问题描述】:

我刚刚升级到 El Capitan,发现 C 编译器 (Clang) 无法在命令行下运行。我写了一个“hello word”测试,尝试编译,我得到以下错误:

$ cc test.c -o 测试

$ 错误:无法打开输出文件

  '/var/folders/Ge/GeRStfi8Ek8jojLcqf1vsE+++TI/-Tmp-/test-ad7039.o': 'No

  such file or directory'

生成 1 个错误。

...我在某处有权限问题吗?谢谢!

【问题讨论】:

  • 你检查文件了吗?
  • 尝试重新安装 Xcode 和命令行工具...stackoverflow.com/a/32338889/2836621
  • 它没有编译任何东西......而且我重新安装了 Xcode 也没有用:(
  • which cccc --version 说什么?
  • $ which cc 给 /usr/bin/cc (象征性地与 clang 链接)和 cc--version 产生 Apple LLVM 版本 7.3.0 (clang-703.0.31) 目标:x86_64-apple -darwin15.5.0 线程模型:posix InstalledDir:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

标签: c++ c macos terminal clang


【解决方案1】:

要么您遇到权限问题(编译器无法在var 中创建文件夹,因此没有这样的文件或目录),要么无法在当前编译目录中打开文件允许。检查您的权限

  • 文件
  • 目录

运行sudo下的命令。如果这样可以解决您的问题,请使用 ls -la 检查您在当前文件夹中的权限。然后,使用chownchmod 更改文件/文件夹的权限。

例子:

chown owner-user test.c

现在,您实际上可能无法访问 /var/ 文件夹。如果是这样,那么 cc 正在创建的临时文件夹就是问题所在。那么,您将使用 sudo 调用 cc。对于更永久的修复,您可以chown 二进制文件或目录clang 所在。

【讨论】:

  • sudo 工作,所以我现在可以忍受它:0 谢谢你...关于权限我被困在这里,因为系统不允许我更改它们!看到这个:support.apple.com/en-gb/HT201560
  • 好的...我在这里找到了如何在命令行下执行此操作lifehacker.com/… 会看到它是如何进行的
  • 这确实是一个权限问题,因为我实际上可以使用 sudo 编译文件;我尝试使用命令行手动修复权限: sudo /usr/libexec/repair_packages --verify --standard-pkgs / 和 sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume / 但仍然没有 sudo 命令我无法编译
猜你喜欢
  • 2013-09-29
  • 2020-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 2013-11-14
  • 2012-01-17
  • 2016-02-08
相关资源
最近更新 更多