이건 좀 기초적인 코딩지식에 대한 질문인것 같습니다.
FMOD 를 사용할 때 꼭 넣어주어야 하는게 있죠.
//------------------------------------
// FMOD 변수
//------------------------------------
FMOD::System *g_fmodsystem = 0;
FMOD::Sound *g_sounds[8] = {0,};
FMOD::Channel *g_channel[8] = {0,};
FMOD_RESULT g_result;
이건데요, 좀 더 큰 모듈단위로 코딩을 할 필요가 생겨서
fmoduse.cpp fmoduse.h 로 fmod 사용함수를 옮겼습니다.
그런데 문제는 위의 변수를 다른 cpp 에서도 사용해야 한다는거죠.
여러 cpp 에서 사운드를 재생하기 때문에 g_fmodsystem 변수로
a.cpp 에서 g_fmodsystem -> play() 시킬 때가 있고
b.cpp 에서 g_fmodsystem -> play() 시킬 때도 있죠.
이런경우엔 어떻게 여러분의 경우 하시는지 궁금하네요.
전 extern 으로 해볼려고 했는데 오류가 나네요.
play 하려는 a.cpp에서
extern FMOD::System *g_fmodsystem = 0;
extern FMOD::Sound *g_sounds[8] = {0,};
extern FMOD::Channel *g_channel[8] = {0,};
extern FMOD_RESULT g_result;
이렇게 하니 중복 선언 오류가 나버리고
위에껄 빼버리자니 g_fmodsystem 변수를 찾지 못해요.
이럴경우에 어떻게 해야 하는지 궁금합니다.
fmoduse.cpp 에 함수를 넣는 이유는
INITFMOD() 함수 안에
mp3등의 음원 파일을 로드시키기 때문이죠...
FMOD 변수의 광역 사용
Moderator: 류광
-
- Posts: 3
- Joined: 2009-01-04 22:51
- Contact:
윗분 지적 감사합니다.
변수 초기값을 빼주니 extern 오류는 해결 되는군요.
헌데, extern 으로만 해결을 보기엔 뭔가 아쉽습니다.
모듈프로그래밍을 좀 더 센스있게 하기위한 조언을 부탁드리겠습니다. ^^
헌데, extern 으로만 해결을 보기엔 뭔가 아쉽습니다.
모듈프로그래밍을 좀 더 센스있게 하기위한 조언을 부탁드리겠습니다. ^^