2011-07-04 8 views
0

私は以下のコードブロックをfmodチュートリアルからほぼそのままコピーしていますが、変数名を少し変更するだけで何かと矛盾しないようにしています。私のコードは、fmodステートメントがなくてもうまくコンパイルできます。私がFMOD_RESULT fm_result行とそれに続く行を置くと、error C4430: missing type specifier - int assumed. Note: C++ does not support default-int私はVS2010を持っているというエラーが表示され、fmodコードなしでリンカーやインクルードファイルのエラーはありません。エラーは回線に関するものですfm_result = FMOD::System_Create(&fm_system);同じ行にエラーerror C2371: 'fm_result' : redefinition; different basic typesも表示されます。FMOD結果が有効なタイプとして認識されていませんか?

FMOD_RESULT fm_result; 
FMOD::System *fm_system; 
fm_result = FMOD::System_Create(&fm_system);  // Create the main system object. 

if(fm_result != FMOD_OK){ 
    printf("FMOD error! (%d) %s\n", fm_result, FMOD_ErrorString(fm_result)); 
    exit(-1); 
} 
fm_result = fm_system->init(100, FMOD_INIT_NORMAL, 0); // Initialize FMOD. 
if(fm_result != FMOD_OK){ 
    printf("FMOD error! (%d) %s\n", fm_result, FMOD_ErrorString(fm_result)); 
    exit(-1); 
} 
+0

名前空間が不足していますか? 'FMOD'名前空間にあるもののようですが、結果の型はどうですか? –

+0

私はなぜそうしているのか分かりませんが、これはドキュメントから直接コピーされています。FMODにはメンバーがありません – ameer

+0

同じ状況で、FMODには会員がいません。/ – ameer

答えて

1

私にはわからない、それは、Visual Studioについて何か、またはあなたが私たちに言っていない何か他のものでなければなりません...以下は、GCC 4.6で私と一緒に罰金コンパイル:

#include <fmod.hpp> 
#include <fmod_errors.h> 
#include <cstdio> 
#include <cstdlib> 

int main() 
{ 
    FMOD_RESULT fm_result; 
    FMOD::System *fm_system; 
    fm_result = FMOD::System_Create(&fm_system);  // Create the main system object. 

    if(fm_result != FMOD_OK) 
    { 
    printf("FMOD error! (%d) %s\n", fm_result, FMOD_ErrorString(fm_result)); 
    exit(-1); 
    } 

    fm_result = fm_system->init(100, FMOD_INIT_NORMAL, 0); // Initialize FMOD. 

    if(fm_result != FMOD_OK) 
    { 
    printf("FMOD error! (%d) %s\n", fm_result, FMOD_ErrorString(fm_result)); 
    exit(-1); 
    } 
} 

私は/tmp/fmodapi43405linux.tar.gzを抽出し、このようにコンパイラを呼び出した:

g++ -W -Wall -Wextra -s -O3 -march=native -o prog prog.cpp \ 
    -I /tmp/fmodapi43405linux/api/inc/ \ 
    /tmp/fmodapi43405linux/api/lib/libfmodex.so 

私は-std=c++0xを追加する場合にも動作します。

+0

それは何だったのか分かりませんが、私は使用しようとしました。 fmodは今朝それが働いた、助けをありがとう – ameer

0

エラーについて: エラーC4430:型指定子がありません - 想定されています。注:C++はdefault-intをサポートしていません

FMODの最初のインクルードの前にFMOD_RESULT blahを置くと、これが得られます。そうでないことを確認できますか?おそらく、fmod.hをインクルードする前にFMOD_RESULTを使用しているインクルード・チェーンがあります。

+0

これは問題ではない、私は1つのファイルでそれを使用し、それが含まれている間は間違いなくです。 – ameer

関連する問題