저는 게임에서 사운드를 재생하기 위해 우분투에서 FMOD를 사용하고 있습니다. Fmod constans (FMOD_HARDWARE)을 찾을 수 없습니다.
나는 다음#include "SoundEngine.h"
bool SoundEngine::initSystem()
{
System_Create(&system);// create an instance of the game engine
system->init(32, FMOD_INIT_NORMAL, 0);// initialise the game engine with 32 channels
//load sounds
system->createSound("Media/NoMoreMagic.ogg", FMOD_HARDWARE, 0, &sound1);
sound1->setMode(FMOD_LOOP_OFF); /* drumloop.wav has embedded loop points which automatically makes looping turn on, */
/* so turn it off here. We could have also just put FMOD_LOOP_OFF in the above CreateSound call. */
system->playSound(FMOD_CHANNEL_FREE, sound1, false, 0);
return true;
}
이 그리고 SoundEngine.h은 다음과 같습니다
#ifndef SOUNDENGINE_H_
#define SOUNDENGINE_H_
#include "FMOD/inc/fmod.hpp" //fmod c++ header
#pragma comment(lib, "fmodex_vc.lib") // fmod library
using namespace FMOD;
class SoundEngine{
public:
bool initSystem(void);
private:
//FMod Stuff
System *system; //handle to FMOD engine
Sound *sound1, *sound2; //sound that will be loaded and played
};
#endif /* SOUNDENGINE_H_ */
문제가 FMOD_HARDWARE 또는 FMOD_CHANNEL_FREE가 발견되지 않는 것입니다.
누구나 어디에서 알 수 있습니까?
편집 : 또 다른 한가지는 pragma 주석이 pragma를 무시한다는 경고를 던집니다. 어쩌면 문제가 프라그마와 관련이 있을까요? Pragma를 어떻게 수정합니까?
라이브러리를 연결하는 #pragma comment는 Microsoft Visual C++ 확장 프로그램입니다. 또한, 당신은'.lib' 파일 (보통 윈도우 라이브러리)과 링크하려고합니다. POSIX 시스템 (예 : Ubuntu) 정적 라이브러리 파일은'.a'로 끝납니다. –
Eclipse를 사용하고 있으므로 환경 설정으로 이동하여 경로 및 심볼 메뉴의 라이브러리에 배치하면됩니다. – Elseine