2012-04-13 3 views
0

です。Visual Studio 2010(32ビット)でSkyFireEMU(https://github.com/ProjectSkyfire/SkyFireEMU)をコンパイルしようとしていますが、 "worldserver" のすべてのファイル):SkyFireEMUのコンパイル時のエラー、sizeof(void *)が

fatal error C1189: #error : sizeof(void *) is neither sizeof(int) nor sizeof(long) nor sizeof(long long) 

これは、コードのこの平和に私をrederects:

#if SIZEOF_CHARP == SIZEOF_INT 
typedef int intptr; 
#elif SIZEOF_CHARP == SIZEOF_LONG 
typedef long intptr; 
#elif SIZEOF_CHARP == SIZEOF_LONG_LONG 
typedef long long intptr; 
#else 
#error sizeof(void *) is neither sizeof(int) nor sizeof(long) nor sizeof(long long) 
#endif 

誰かがこの問題を修正して私を助けることができますか?エラーはどういう意味ですか?私は本当に何がうまくいかないのか分からない。

答えて

2

コードは古いです。今日はtypedef intptr_t intptr(別名std::intptr_t<cstdint>)を使用できます。

1

SIZEOF_CHARPは適切に(そのコードを書いた人によると)設定されていないため、エラーメッセージが表示されます。あなたの最善の策は、SkyFireEMUのマニュアルを参照することです。コンパイルする前にこのフラグを設定するか、これらの行に沿って何かを設定する必要があります。

これは言いましたが、すばらしいGoogleでしたが、同じエラーメッセージを示すthisが見つかりました。

これは本当にエラーを抑制するだけなので、まだ根本的な問題があるかもしれません。

関連する問題