基于文件类型的Xcode中奇怪的语法错误
Weird syntax error in Xcode based on file type
我有一个带有此函数的 C 标头:
OSStatus MyGetDataFromExtAudioRef(ExtAudioFileRef ext_file_ref, const AudioStreamBasicDescription* restrict output_format, ALsizei max_buffer_size, void** data_buffer, ALsizei* data_buffer_size, ALenum* al_format, ALsizei* sample_rate);
我可以在 Objective-C 文件中#include
这个标头并编译得很好。
如果我将相同的 Objective-C 文件更改为.mm
后缀而不是.m
并验证它现在是否被标识为 Objective-C++ 源,我会收到一个编译器错误,上面一行显示Expected ')'
。虽然不清楚,但它似乎将错误的源放在单词output_format
参数上。
关于括号,上述函数中没有任何语法似乎很糟糕,我不明白为什么这个更改应该有任何不同。
有什么东西跳出来吗?
很简单,restrict
关键字不是C++标准的一部分,因此C++编译器(用于编译Objective-C++代码)无法识别它。
相关文章:
- Xcode 9.4.1 中的 Apple Mach-O 链接器 (id) 错误
- 在 xcode 10 上找不到 stdlibc++ 标头错误
- '-print_statistics'链接器选项在 Xcode 中产生错误
- Xcode OSX上的C++构建失败,出现多个错误文件IO..不可用:在macOS 10.15中引入
- 终端错误MacOS:/Applications/Xcode.app/Content/Developer/Toolchai
- C++ Mac Xcode 错误:控制可能达到非无效功能的末尾
- C++ XCODE ld:找不到体系结构x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -
- 线程 1:xcode 中出现EXC_BAD_ACCESS(代码 = 1,地址 = 0x0)错误
- OPENCV错误在XCode 8中加载Fisher面部识别器时
- Xcode 8.3.2 中的错误警告:文件的非可移植路径 - 指定的路径与磁盘上的文件名不同
- 当我尝试构建和运行C 程序时,获取Xcode错误代码
- Xcode 错误:指针和双精度之间的比较
- Xcode C++错误"linker command failed with exit code 1"
- Xcode 错误:"2 duplicate symbols for architecture x86_64"
- Xcode错误-没有这样的文件或目录
- XCode 错误"Undefined symbols for architecture x86_64" C++
- Xcode 错误:架构 x86_44 和 ld 的未定义符号:找不到架构x86_64的符号
- 函数样式强制转换或构造类型 Xcode 错误的'('
- 跳过列表实现c++ - XCode错误
- Xcode 错误"not found for architecture" 。尝试不使用库的基本C++