Int32无法转换为gcl_queue_flags

时间:2014-07-29 07:50:29

标签: macos swift opencl

我尝试使用Swift语言使用OpenCL(使用xcode6 Dp4,Yosemite DP4)失败:

import Cocoa 
import OpenCL 
- 
- 
var queue: dispatch_queue_t = gcl_create_dispatch_queue(CL_DEVICE_TYPE_GPU, nil)
-
- 

“var queue ...”出现错误消息 - line; “Int32无法转换为gcl_queue_flags”。使用Objective-C或C时,代码行完美运行。测试OpenCL(和GCD好)似乎在游乐场不起作用。

1 个答案:

答案 0 :(得分:3)

这是CL_DEVICE_TYPE_GPU宏导入Swift的方式的问题 - 它是一个Int32,但该函数需要UInt64。因此,您可以使用cl_queue_flags(CL_DEVICE_TYPE_GPU)进行转换。您可能还想file a bug