mac下c语言读写不了文件,升级到Mojave后无法在Mac上编译C程序

确保下载了最新的“命令行工具”包,并从终端(命令行)运行:open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

从相当广泛的评论…中提取一个半连贯的答案

序言

很多时候,xcode-select --install一直是正确的解决办法,但这一次似乎没有帮助。您试过运行主Xcode GUI界面吗?它可能会为你安装一些额外的软件和清理。我在安装Xcode 10.0之后就这样做了,但一周前甚至更早,在升级到Mojave之前很久。

我注意到如果你的GCC在/usr/local/bin,您可能没有使用Xcode中的GCC;这通常是安装在/usr/bin.

我也更新了MacOS10.14Mojave和Xcode 10.0。然而,这两个系统/usr/bin/gcc和制度/usr/bin/clang为我工作(Apple LLVM version 10.0.0 (clang-1000.11.45.2) Target: x86_64-apple-darwin18.0.0(对两个人来说。)我有一个问题,我的家乡建的GCC 8.2.0没有找到标题/usr/include,这与您的问题类似。/usr/local/bin/gcc也找不到头。

我做了一些比较,我的莫哈韦机器没有/usr/include一点也不/usr/bin/clang能够编译OK。标题(_stdio.h,加上下划线)在我的旧/usr/include它现在不见了(因此我对GCC的问题8.2.0)。我跑了xcode-select --install上面写着“xcode-select: note: install requested for command line developer tools“然后运行了一个GUI安装程序,它向我展示了一个我同意的许可证,它下载并安装了命令行工具-至少它声称是这样的。

然后我运行了xcode GUI(命令空间,xcode,ref),它说它需要安装更多的软件,但仍然没有。/usr/include..但我可以用/usr/bin/clang和/usr/bin/gcc-和-v选项表明他们正在使用InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

工作溶液我找到办法了。如果我们使用的是Xcode 10,您将注意到如果您导航到/usr在Finder中,您将不再看到一个名为“include”的文件夹,这就是为什么终端抱怨没有包含在‘include’文件夹中的头文件。在Xcode 10.0发行说明,上面说有一个包裹:/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

您应该安装该软件包,使其具有/usr/include文件夹已安装。那你就可以走了。

当所有其他操作都失败时,请阅读手册,或者,在本例中,阅读发布说明。当我发现苹果想背弃Unix的传统时,我并不感到惊讶,但我很失望。如果他们小心的话,他们会把我赶走的。谢谢你提供这信息。

在命令行中使用以下命令安装了包后,我有/usr/include再次,我的GCC 8.2.0再次作品。open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

下载命令行工具

如维萨指出有价值评语,您需要下载Mojave 10.14上Xcode 10.1的命令行工具包,您可以这样做:

您需要使用Apple ID登录才能获得下载。下载完毕后,安装命令行工具包。然后按照“工作解决方案”一节中的说明安装标头。

这在Mojave 10.14.1上对我起了作用。我以前肯定下载过这个,但当我回答这个问题时,我已经忘记了。

升级到Mojave 10.14.4和XCode 10.2

我已经更新到Mojave 10.14.4,XCode 10.2命令行工具也被升级(或者XCode 10.1命令行工具升级到10.2)。这个open上面显示的命令修复了丢失的标头。如果将主XCode升级到10.2,然后重新安装命令行工具和标头包,可能还会有一些冒险之处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值