あなたは良いところから始めています。最初のコンパイル エラーが発生しました。
ここにあります:
In file included from settings.c:23:
input/input_common.h:73: error: redefinition of typedef ‘rarch_joypad_driver_t’
driver.h:327: note: previous declaration of ‘rarch_joypad_driver_t’ was here
以下は、input_common.h からの抜粋です。
typedef struct rarch_joypad_driver
{
...
} rarch_joypad_driver_t;
以下は、driver.h からの抜粋です。
typedef struct rarch_joypad_driver rarch_joypad_driver_t;
エラーが示すように、typedef が再定義されています。Ubuntu 12.04 から gcc 4.6.3 を使用してテストを実行しました。
typedef struct foo { int bar; } foo_t;
typedef struct foo foo_t;
int main() { return 0; }
これにより、正常にコンパイルおよびリンクされます。x86_64-nacl-gcc (gcc 4.4.3 を使用) でコンパイルされた同じコードでは、次のエラーが発生します。
typedef.c:2: error: redefinition of typedef ‘foo_t’
typedef.c:1: note: previous declaration of ‘foo_t’ was here
このエラーは、最近のバージョンの gcc では緩和されているようです。私はいくつかの検索を行い、このstackoverflowリンクを見つけました: Why "Redefinition of typedef" error with GCC 4.3 but not GCC 4.6? .
x86_64-nacl-g++ はこのコードを変更せずにコンパイルすることに注意してください。次の 2 つのことを試してください。
- x86_64-nacl-gcc の代わりに x86_64-nacl-g++ を使用して CC でコンパイルする
driver.h 内の定義を ifdef から除外し、そのファイル内の他の使用を に置き換えますstruct rarch_joypad_driver
。
#2の場合、次を使用できます。
#ifndef __native_client__
...
#endif
頑張ってください。修正すべきコンパイル エラーがさらに発生する可能性があります。:)