我最近一直在 linux 上编写一些 OpenCL 代码(ubuntu 10.4、ati Catalyst 10.4 和 ati sdk v2.1),它在 linux 上运行良好。
当我想在 Windows 上运行我的代码时,我得到程序构建错误抱怨
“此声明没有存储类或类型说明符”
然后“必须在 addrSapce 常量中声明全局变量”
即使有一个空内核也不行,地狱我评论了代码,它仍然给出了同样的错误哈哈!
很奇怪,样本 r 工作得很好。当我将代码复制到示例项目中时,它给出了相同的错误。
我正在使用 windows 7 32 位、ati stream sdk v2.1 和 v10.6 驱动程序(因为我在任何地方都找不到适用于 windows 的 10.4,这很可悲,因为 10.6 不能保证支持 OpenCL,方式去AMD大声笑!)
我把所有的内核都剪掉了,只剩下这个,我仍然遇到同样的错误,就是这样
__kernel void set_float( __global float* buff ,
float v) {
buff[get_global_id(0)]=v;
}