在xcode中编译ios项目时找不到c++头文件

Posted

技术标签:

【中文标题】在xcode中编译ios项目时找不到c++头文件【英文标题】:c++ header file not found when compiling ios project in xcode 【发布时间】:2022-01-17 09:58:44 【问题描述】:

当我构建一个 ios 项目时,我收到一个错误“'tuple' file not found”。似乎 xcode 并没有尝试寻找 c++ 头文件。

错误信息是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk/usr/include/simd/vector_make.h:5310:10:找不到“元组”文件

在vector_make.h中,包含元组:

#include <tuple>

这源自 c++ 文件“tdav_apple.mm”中包含的 AVFoundation.h:

#if TDAV_UNDER_APPLE
#if TDAV_UNDER_IPHONE || TDAV_UNDER_IPHONE_SIMULATOR
#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
#endif

我该如何解决?感谢您的帮助!

【问题讨论】:

您必须以 C++11 或更高版本为目标才能访问<tuple>。 【参考方案1】:

我会检查并确保您的语言版本至少是 C++11,因为那是引入元组的时候。

未能验证项目文件中的 .mm 文件是否正确标记为 C++(选择文件,然后打开右侧的“文件检查器”。)

【讨论】:

以上是关于在xcode中编译ios项目时找不到c++头文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误

C++ 可执行文件在运行时找不到库,即使它位于 /usr/lib 中(在 Linux 上)

与mingw交叉编译时找不到zlib头文件?

在 Windows 上使用 MinGW 编译 C++ 时找不到 omp.h

vscode下运行c++找不到头文件是怎么回事

构建 XCTest 时找不到文件错误