在 macOS Monterey 上,VS Code 在 #include 方面出现错误,而在 Big Sur 上运行正常。

3

我昨天升级到了macOS Monterey,自那以后我的vs code就无法编译任何代码了。它会抛出以下错误:

#include errors detected. Please update your includePath. Squiggles are 
disabled for this translation unit (/Users/ishudhariwal/contest.cpp).

cannot open source file "endian.h" (dependency of "iostream")

在BigSur上它运行得非常完美。我是一个编程的初学者。我无法弄清楚出了什么问题以及如何修复它。

4个回答

4

几天前,我更新了我的 Macbook M1 到 Monterey 后,遇到了与你完全相同的问题。坦率地说,我并没有深入了解情况,但在找到这种行为的原因之后,很明显像 stdio.h 等包含文件神奇地消失了。最终,终端中的一个单一命令就解决了问题 -

xcode-select --install

希望这能帮助您解决问题。


我使用了相同的内容,谢谢。 - Ishu Dhariwal

0

如果您正在使用微软的C/C++包,则需要更新位于生成的.vscode文件夹中的c_cpp_properties.json文件。将此添加到您的MacFrameworkPath:

"macFrameworkPath": [
     "/Library/Developer/**"            
],
``` This will include all the files you need from /Library/Developer. The ** looks through every folder inside that and on.

似乎不起作用,仍然显示相同的错误。你能更精确地指导我该怎么做吗? - Ishu Dhariwal
嗯,你要链接的文件是否在同一个目录下?它是同一目录下的另一个文件吗?比如你是否尝试编译多个文件?还是这是一个库? - DischordDynne

0

在安装任何命令行工具之前,请先查看您的Xcode是否已安装。首先安装它,然后您可以尝试运行此命令。

xcode-select --install

这对我有用。希望能帮到你 :)


-1
尝试安装Xcode命令行工具。很可能这会解决问题。
请尝试以下步骤:
  1. 前往https://developer.apple.com/download/all/
  2. 登录或注册
  3. 在下载列表中查找: "Command Line Tools for Xcode 13.x",然后单击dmg并下载。
  4. 安装它。

这需要一个开发者账户,它显示对我不合格。 - Ishu Dhariwal
如果您已经拥有Apple ID,则只需同意苹果的开发者协议即可将其转换为免费的开发者帐户。输入您的Apple ID并点击“登录”。如果您还没有Apple ID,则需要首先创建一个。 - Giggity
是的,我试过相同的方法,但它显示您的 Apple ID 不符合条件。 - Ishu Dhariwal
开发者计划账户持有人需要进行双重认证才能登录其苹果开发者账户。它是否已启用? - Giggity
其实我的Apple ID是我的电话号码,而且苹果的代表告诉我可以使用电子邮件地址作为开发者账户登录。不过我已经通过Brew解决了这个问题。谢谢。 - Ishu Dhariwal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接