OpenGL 数学 (GLM) 与 AVFoundation 冲突:对 'simd_char' 的调用不明确
OpenGL Mathematics (GLM) conflicts with AVFoundation: Call to 'simd_char' is ambiguous
我正在构建一个 iOS 游戏,其中包含用于执行 GLSL 中所需的一些计算的 GLM 库(尤其是 - 投影矩阵)。我还使用 AVFoundation
API 在应用程序的某些屏幕中播放视频。如果我尝试导入 AVFoundation
.
,在 header 搜索路径中包含 GLM 会导致以下许多错误
/Applications/Xcode_10.2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk/usr/include/simd/conversion.h:1069:73: Call to 'simd_char' is ambiguous
重现的步骤是:
- 在 XCode
中创建 iOS 应用程序项目
- 在 header 搜索路径中包含 glm
- 在项目的任何地方导入
AVFoundation
我创建了一个重现此问题的示例项目 here。
如何使用包含的 AVFoundation 进行 GLM 编译?
作为参考,我的游戏的某些部分是用 c 语言编写的(对于核心引擎),而其他部分是 Swift/objc(对于 Cocoa/UIKit)。
我正在使用 GLM 0.9.9.6
我认为您应该在“构建设置”中更改“用户 Header 搜索路径”而不是“Header 搜索路径”,因为 AVFoundation
指的是 <..simd>
, <...>
表示“构建设置”中的“Header 搜索路径”。
- 将
$SOURCE_ROOT/glm
添加到“用户 Header 搜索路径”并将其从“Header 搜索路径”中删除(如果存在)
- 将
glm
文件夹复制到源文件的根目录
我正在构建一个 iOS 游戏,其中包含用于执行 GLSL 中所需的一些计算的 GLM 库(尤其是 - 投影矩阵)。我还使用 AVFoundation
API 在应用程序的某些屏幕中播放视频。如果我尝试导入 AVFoundation
.
/Applications/Xcode_10.2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk/usr/include/simd/conversion.h:1069:73: Call to 'simd_char' is ambiguous
重现的步骤是:
- 在 XCode 中创建 iOS 应用程序项目
- 在 header 搜索路径中包含 glm
- 在项目的任何地方导入
AVFoundation
我创建了一个重现此问题的示例项目 here。
如何使用包含的 AVFoundation 进行 GLM 编译?
作为参考,我的游戏的某些部分是用 c 语言编写的(对于核心引擎),而其他部分是 Swift/objc(对于 Cocoa/UIKit)。 我正在使用 GLM 0.9.9.6
我认为您应该在“构建设置”中更改“用户 Header 搜索路径”而不是“Header 搜索路径”,因为 AVFoundation
指的是 <..simd>
, <...>
表示“构建设置”中的“Header 搜索路径”。
- 将
$SOURCE_ROOT/glm
添加到“用户 Header 搜索路径”并将其从“Header 搜索路径”中删除(如果存在) - 将
glm
文件夹复制到源文件的根目录