2

我最近一直在 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;
}
4

2 回答 2

3

伙计,不管你被绳子咬了多少次,一个人永远学不会。

这只是一个非空终止的字符串问题,哈哈。

于 2010-07-20T19:29:09.840 回答
0

它对我有用(使用 AMD Stream Kernel Analyzer 成功编译)。在 Win7 64 位、sdk v2.1 和 v10.6 驱动程序上。你的格式很糟糕。

于 2010-07-19T19:21:33.067 回答