我尝试将 OpenCL 与 Swift 语言结合使用(使用 xcode6 Dp4、Yosemite DP4)失败:
import Cocoa
import OpenCL
-
-
var queue: dispatch_queue_t = gcl_create_dispatch_queue(CL_DEVICE_TYPE_GPU, nil)
-
-
“var queue ...”行出现错误消息; “Int32 无法转换为 gcl_queue_flags”。当使用 Objective-C 或 C 时,这行代码可以完美运行。测试 OpenCL(以及 GCD)似乎在 Playground 中不起作用。
最佳答案
这是 CL_DEVICE_TYPE_GPU
宏导入 Swift 的方式的问题 - 它是 Int32,但该函数采用 UInt64。因此您可以使用 cl_queue_flags(CL_DEVICE_TYPE_GPU) 来转换它。您可能还想file a bug .
关于macos - Int32 无法转换为 gcl_queue_flags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25010531/