これが私のコードです:
#include <stdio.h>
#include <CL/cl.h>
#include <CL/cl_platform.h>
int main(){
cl_float3 f3 = (cl_float3){1, 1, 1};
cl_float3 f31 = (cl_float3) {2, 2, 2};
cl_float3 f32 = (cl_float3) {2, 2, 2};
f3 = f31 + f32;
printf("%g %g %g \n", f3.x, f3.y, f3.z);
return 0;
}
gcc 4.6 でコンパイルすると、エラーが発生します
test.c:14:11: error: invalid operands to binary + (have ‘cl_float3’ and ‘cl_float3’)
OpenCL 仕様がセクション 6.4 で 2 つの追加を示しているため、私には非常に奇妙ですfloatn
。他のヘッダーを含める必要がありますか?
しかし、さらに奇妙なのは、でコンパイルすると-std=c99
次のようなエラーが発生することです
test.c:16:26: error: ‘cl_float3’ has no member named ‘x’
..すべてのコンポーネント (x、y、z) について...