2011-07-04 31 views
0

我有下面的代码块几乎逐字地从fmod教程中复制出来,并对变量名进行了小的修改,以免与任何内容发生冲突。我的代码编译好没有任何fmod语句。当我把FMOD_RESULT fm_result行和所有后面我得到一个错误,说明error C4430: missing type specifier - int assumed. Note: C++ does not support default-int我有VS2010,没有链接器或包含文件错误没有FOMC代码。错误是关于行fm_result = FMOD::System_Create(&fm_system);我也在同一行上得到错误error C2371: 'fm_result' : redefinition; different basic typesFMOD结果未被识别为有效类型?

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没有成员FMOD_RESULT – 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); 
    } 
} 

我提取fmodapi43405linux.tar.gz/tmp/和调用这样的编译器:

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:缺少类型说明符 - 假定为int。注意:C++不支持default-int

如果您在第一次包含FMOD之前放置了FMOD_RESULT等等,您会得到这个结果。你能确定情况并非如此吗?也许你有一个包含链在使用FMOD_RESULT之前包含fmod.h.

+0

这不是问题,我只用它在一个文件,它肯定是在它被包括之后。 – ameer

相关问题