Swift “无法将模块'metal'加载为'metal'”
我正在学习一门教程--学习如何使用金属。我已经完全按照教程的要求完成了,在我尝试构建它之前没有出现错误,然后它说构建失败,还有错误-无法将模块“metal”作为“metal”加载。 我在其他地方找不到答案,有人能帮我解决这个问题吗?我对编码还不熟悉,我希望这会有一个简单的解决方案 编辑:所以我发现确实有一个非常简单的解决方案。我还没有下载教程的材料。但现在,我发现了另一个错误,称使用未解析标识符“vertexBuffer” 这是我的全部代码,只是为了解决任何困惑- 斯威夫特视图控制器- 着色金属 注意-Shaders.metal是一个文件,教程中说要创建该文件您需要导入金属框架,如下面“创建MTL设备”中所述 目前你做的如下操作是错误的Swift “无法将模块'metal'加载为'metal'”,swift,metal,xcode11,Swift,Metal,Xcode11,我正在学习一门教程--学习如何使用金属。我已经完全按照教程的要求完成了,在我尝试构建它之前没有出现错误,然后它说构建失败,还有错误-无法将模块“metal”作为“metal”加载。 我在其他地方找不到答案,有人能帮我解决这个问题吗?我对编码还不熟悉,我希望这会有一个简单的解决方案 编辑:所以我发现确实有一个非常简单的解决方案。我还没有下载教程的材料。但现在,我发现了另一个错误,称使用未解析标识符“vertexBuffer” 这是我的全部代码,只是为了解决任何困惑- 斯威夫特视图控制器- 着色金属
import metal
编译器检测到与Metal相似的名称,即Metal。有时库会在不同的版本中更改名称,这就是为什么它可能不同于您所遵循的教程
尝试按照错误建议执行操作,并将导入替换为:import metal您需要一个var vertexBuffer:MTLBuffer变量检查您的项目名称是否不是metal。如果我编写import metal,它只会给我相同的错误,但现在错误显示在编译器中,不是在尝试构建之后。我如何让代码在注释中独树一帜?要将代码排成一行,请将文本用倒勾“.当我这样做时,它只会说-file‘viewController.swift’是模块‘metal’的一部分;忽略导入然后只删除导入行
#include <metal_stdlib>
using namespace metal;
vertex float4 basic_vertex( // 1
const device packed_float3* vertex_array [[ buffer(0) ]], // 2
unsigned int vid [[ vertex_id ]]) { // 3
return float4(vertex_array[vid], 1.0); // 4
}
fragment half4 basic_fragment() { // 1
return half4(1.0); // 2
}
import Metal
import metal