RenderscriptforAndroidを使用しています。ツールのリビジョン21に更新しました。私のプロジェクト(1年以上機能しています)は、このアップデートでコンパイルを停止しました。このプロジェクトは、「カルーセル」デモに基づいています。
Eclipseは、次のような一連のエラーを表示します。
error: structs containing vectors of dimension 3 cannot be exported at this API level: carouselPlane'
上記のエラーを生成するコードは次のとおりです。
static Plane carouselPlane = {
{ 0.0f, 0.0f, 0.0f }, // point
{ 0.0f, 1.0f, 0.0f }, // normal
0.0f // plane constant (= -dot(P, N))
};
エクスポートできないとはどういう意味かわかりません。コードのチャンクは、エクスポートを防ぐために特に静的としてマークされています。
他の人もr21でこの問題に遭遇しましたか?
Android 4.2(r21と同時にリリース)には、GPUでのRenderscript計算の実行に関するいくつかの特別な機能があることを知っています。これはこの問題に関連していますか?
既知の回避策はありますか?
編集
ここで要求されているのは、上記の最小限の例です
#pragma version(1)
#pragma rs java_package_name(com.example);
typedef struct Plane_s {
float3 point;
} Plane;
static Plane carouselPlane = {
{ 0.0f, 0.0f, 0.0f }
};