Xcode 针对模拟器编译找不到第三库头文件问题

在Xcode 11 上使用模拟器编译运行不会出任何错误,升级到Xcode 12使用模拟器ipone 11 编译居然失败,真机却正常。报错如下:

YBNetwork框架下的AFHTTPSessionManager.h文件找不到,切换成真机再次编译,错误消失!!!

查阅Xcode 12 升级文档:

大概意思如下

1、Xcode11 项目中模拟器会编译为x86_64,但Xcode12的模拟器基于苹果Apple Silicon architecture执行,需要编译为arm64运行在模拟器上。许多第三方库(如Firebase,AFNetworking等)并未提供Xcode12版本的更新支持,导致报错。

2、Xcode12 开始移除编译设置(Bulid Settings)中的 Valid Architectures的宏定义。当项目使用Xcode12打开时候,会在User-Defines(项目的Bulid Settings里面)中自动生成VALID_ARCHS宏定义。如果旧项目存在于此冲突的宏定义,会导致编译失败。

解决办法:

Build setting中搜索VARID_ARCHS

把VALID_ARCHS整个删除。

重新编译,成功!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果在 VS Code 中编写 C/C++ 代码时出现不到头文件问题,可能是因为 VS Code 没有正确配置编译器的路径。您可以按照以下步骤进行配置: 1. 安装 C/C++ 扩展。在 VS Code 中,单击左侧边栏中的 Extensions(扩展)图标,搜索 “C/C++” 并安装该扩展。 2. 安装编译器。您需要安装 C/C++ 的编译器,例如 GCC 或 Clang。在 Windows 上,您可以安装 MinGW 或 Visual Studio。在 macOS 上,您可以安装 Xcode。在 Linux 上,您可以使用系统默认的 GCC 或 Clang。 3. 配置编译器路径。在 VS Code 中,单击左侧边栏中的 Explorer(资源管理器)图标,在打开的文件夹中右键单击并选择 Open in Terminal(在终端中打开)。在终端中输入 `which gcc`(或者 `which clang`,根据您的编译器而定)查编译器的路径。将路径复制并打开 VS Code 中的设置。在设置中搜索 “C/C++” 并到 “C_Cpp: Intelli Sense Engine” 选项。在该选项的下拉菜单中选择 “Tag Parser” 并在 “C_Cpp: Tag Parser” 选项中粘贴编译器的路径。 4. 配置头文件路径。在 VS Code 中,单击左侧边栏中的 Explorer(资源管理器)图标,在打开的文件夹中右键单击并选择 Open in Terminal(在终端中打开)。在终端中输入 `echo | gcc -E -Wp,-v -`(或者 `echo | clang -E -Wp,-v -`,根据您的编译器而定)查头文件的路径。将路径复制并打开 VS Code 中的设置。在设置中搜索 “C/C++” 并到 “C_Cpp: Intelli Sense Engine” 选项。在该选项的下拉菜单中选择 “Tag Parser” 并在 “C_Cpp: Tag Parser: Additional Include Directories” 选项中粘贴头文件的路径。 完成上述步骤后,您应该可以在 VS Code 中正确头文件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值