Android ndk と g++ を使用して、GDAL から frmts/gtiff/libtiff/tif_dirinfo.c ファイルをコンパイルしています。tiffFieldArray は、最初に静的変数として定義されます。
static TIFFFieldArray tiffFieldArray;
次に、同じファイルで使用します。
tiffFieldArray = { tfiatImage, 0, TIFFArrayCount(tiffFields), tiffFields };
しかし、エラーが発生しました:
../../frmts/gtiff/libtiff/tif_dirinfo.c:264:1: error: 'tiffFieldArray' does not name a type
なんで?
tif_dir.h の構造体定義:
#if defined(__cplusplus)
extern "C" {
#endif
...
struct _TIFFFieldArray {
TIFFFieldArrayType type; /* array type, will be used to determine if IFD is image and such */
uint32 allocated_size; /* 0 if array is constant, other if modified by future definition extension support */
uint32 count; /* number of elements in fields array */
TIFFField* fields; /* actual field info */
};
...
#if defined(__cplusplus)
}
#endif