FMOD Lib
-
Ich wünsche euch einen schönen Abend,
Heute bin ich leider über folgendes Problem gestoßen:1>main.obj : error LNK2001: Nicht aufgelöstes externes Symbol "_FMOD_System_Create@4". 1>main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: enum FMOD_RESULT __stdcall FMOD::System::playSound(enum FMOD_CHANNELINDEX,class FMOD::Sound *,bool,class FMOD::Channel * *)" (?playSound@System@FMOD@@QAG?AW4FMOD_RESULT@@W4FMOD_CHANNELINDEX@@PAVSound@2@_NPAPAVChannel@2@@Z)". 1>main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: enum FMOD_RESULT __stdcall FMOD::System::createStream(char const *,unsigned int,struct FMOD_CREATESOUNDEXINFO *,class FMOD::Sound * *)" (?createStream@System@FMOD@@QAG?AW4FMOD_RESULT@@PBDIPAUFMOD_CREATESOUNDEXINFO@@PAPAVSound@2@@Z)". 1>main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: enum FMOD_RESULT __stdcall FMOD::System::release(void)" (?release@System@FMOD@@QAG?AW4FMOD_RESULT@@XZ)".
Als ich folgenden Schnippsel kompilieren wollte: #include <iostream> #include <cstdlib> #include <fmod.hpp> #include <windows.h> using namespace FMOD; #pragma comment(lib, "fmodex64_vc.lib") int main(int argc, char** argv) { FMOD::System* system; FMOD::System_Create(&system); FMOD::Sound *sound; system->createStream("1000 Weisse Lilien.mp3", FMOD_DEFAULT, 0, &sound); FMOD::Channel* channel; system->playSound(FMOD_CHANNEL_FREE, sound, false, &channel); while(1) { } system->release(); return 0; }
Ich nutze Visual Studio 2010, Windows7 64bit und versuche bereits seit Stunden erfolglos die FMOD Library ins Projekt zu intengrieren.
Ich habe auch bereits bei Projekteigenschaften den Lib und den Inc Ordner hinzugefügt sowie die "fmodex64_vc.lib" beim Linker unter zusätzliche ABhängigkeiten.
Bitte von dem Pragma(lib, "fmodex64_vc.lib") nicht irritieren lassen, das war nur testweise um zu sehen, obs hilft.
-
vielleicht hier
http://www.fmod.org/forum/viewtopic.php?f=7&t=13002&p=46822&hilit=linkingim notfall dort fragen?
-
Ist die fmodex64_vc.lib cdecl- oder stdcall-compiliert?
Falls cdecl: Sind die statischen Funktionen, die du da aufrufst in den Headern auch entsprechend deklariert?
Wenn du keine Lust hast, dich durch die fmod-Header zu wühlen, kannst du dein Programm testweise cdecl kompilieren. Wenn der Linker dann zufrieden ist, hast dus.
-
Vielen Dank, das hat mir weitergeholfen.
Nun habe ich eine zweite Frage:
Ich habe mit der FMOD Library einen Eualizer gebaut, welcher prima funktioniert.
Jedoch möchte ich nun, das der Eualizer über den Ausgabekanal von meinem Betriebssystem läuft, wie kann ich das realisieren?Sprich: WIe kann ich die die den Windows "Ausgabepuffer" anzapfen?