(Port Audio v19) Kompilieren/Linken?
-

Hallo,
ich habe eine Frage bezüglich der PortAudio API. Ich versuche bereits
seit mehreren Tagen ein Beispiel zu kompilieren, aber scheitere immer
wieder am Linker, welcher mir eben fehlende bzw. fehlerhafte Verbindungen
ausgibt. Leider ist der Vorgang zum Aufsetzen der API sehr schlecht
dokumentiert bzw. sehr gut im www versteckt worden. Es gelingt mir einfach
nicht wenigstens ein Beispiel zu kompilieren.Ich arbeite mit dem DevC++ IDE.
Das Beispiel mit dem ich es versucht habe, heißt
.\test\patest_sawWas ich bisher gemacht habe:
Laut aller lesbaren Infomation musste ich mir aus den folgenden Files
Objects erstellen und diese Linken:pa_common\pa_process.c
pa_common\pa_skeleton.c
pa_common\pa_stream.c
pa_common\pa_trace.c
pa_common\pa_converters.c
pa_common\pa_cpuload.c
pa_common\pa_dither.c
pa_common\pa_front.c
pa_common\pa_allocation.h
pa_win\pa_win_util.c
pa_win\pa_win_hostapis.c
pa_win_wmme\pa_win_wmme.cDas habe ich getan. Außerdem das übliche -> Includes bekannt machen.
Anders herum habe ich es bereits auch probiert. Ähnlich der ASIO-
spezifischen FirstStep Anweisungen (http://portaudio.com/trac/wiki/TutorialDir/Compile/WindowsASIOMSVC)
habe ich die entsprechenden Files eben in das Projekt importiert.Der Datei pa_win_hostapis.c habe ich folgendes ergänzt:
#define PA_NO_DS #define PA_NO_ASIO #define PA_NO_WASAPI #define PA_NO_WDMKSDas Problem ist nun, dass in pa_win_wmme.c eben undefinierte
Aufrufe auftreten, dessen Herkunft ich nirgens erfahren kann.D:\studium\Work\paLib\pa_win_hostapis.o(.data+0x4):pa_win_hostapi: undefined reference to `PaWinDs_Initialize' D:\studium\Work\paLib\pa_win_hostapis.o(.data+0x8):pa_win_hostapi: undefined reference to `PaAsio_Initialize' D:\studium\Work\paLib\pa_win_util.o(.text+0xe4):pa_win_util.c: undefined reference to `timeGetTime@0' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x3e1):pa_win_wmme.c: undefined reference to `waveInOpen@24' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4cb):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x511):pa_win_wmme.c: undefined reference to `waveOutOpen@24' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x5fb):pa_win_wmme.c: undefined reference to `waveOutGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x872):pa_win_wmme.c: undefined reference to `waveInGetDevCapsA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x9fe):pa_win_wmme.c: undefined reference to `waveOutGetDevCapsA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0xcd2):pa_win_wmme.c: undefined reference to `waveInGetNumDevs@0' D:\studium\Work\paLib\pa_win_wmme.o(.text+0xcec):pa_win_wmme.c: undefined reference to `waveOutGetNumDevs@0' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x21aa):pa_win_wmme.c: undefined reference to `waveInOpen@24' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x21e7):pa_win_wmme.c: undefined reference to `waveOutOpen@24' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x22e1):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x2316):pa_win_wmme.c: undefined reference to `waveOutGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x23d4):pa_win_wmme.c: undefined reference to `waveInClose@4' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x241e):pa_win_wmme.c: undefined reference to `waveOutClose@4' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x2464):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x2499):pa_win_wmme.c: undefined reference to `waveOutGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x271d):pa_win_wmme.c: undefined reference to `waveInPrepareHeader@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x274a):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x279c):pa_win_wmme.c: undefined reference to `waveOutPrepareHeader@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x27c9):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x291b):pa_win_wmme.c: undefined reference to `waveInUnprepareHeader@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x294e):pa_win_wmme.c: undefined reference to `waveOutUnprepareHeader@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x38ca):pa_win_wmme.c: undefined reference to `waveInAddBuffer@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x38f7):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x39da):pa_win_wmme.c: undefined reference to `waveOutWrite@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x3a07):pa_win_wmme.c: undefined reference to `waveOutGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x3f78):pa_win_wmme.c: undefined reference to `waveOutGetPosition@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4814):pa_win_wmme.c: undefined reference to `waveInAddBuffer@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4841):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x48db):pa_win_wmme.c: undefined reference to `waveOutPause@4' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4908):pa_win_wmme.c: undefined reference to `waveOutGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4bd1):pa_win_wmme.c: undefined reference to `waveOutWrite@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4bfe):pa_win_wmme.c: undefined reference to `waveOutGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4e1b):pa_win_wmme.c: undefined reference to `waveInStart@4' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4e48):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4ebb):pa_win_wmme.c: undefined reference to `waveOutRestart@4' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x4ee8):pa_win_wmme.c: undefined reference to `waveOutGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x5282):pa_win_wmme.c: undefined reference to `waveOutReset@4' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x52af):pa_win_wmme.c: undefined reference to `waveOutGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x531b):pa_win_wmme.c: undefined reference to `waveInReset@4' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x5348):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x542e):pa_win_wmme.c: undefined reference to `waveOutReset@4' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x5454):pa_win_wmme.c: undefined reference to `waveOutGetErrorTextA@12' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x54cb):pa_win_wmme.c: undefined reference to `waveInReset@4' D:\studium\Work\paLib\pa_win_wmme.o(.text+0x54f1):pa_win_wmme.c: undefined reference to `waveInGetErrorTextA@12'Ich verzweifle ein wenig, da ich selbst für diesen Schritt schon
ewig forschen musste. Hat jemand PortAudio auf Dev-C++ lauffähig
und weiss noch was es alles zu beachten galt?Das ganze müsste für WMME laufen. Ein First Step Tutorial gibt
es dafür auf der PortAudio Site leider nicht.Vielen Dank im Voraus für jeden Hinweisschnipsel

Gruß Ken.
PS:
Die PortAudio API in meiner Version gibt es hier:
http://www.portaudio.com/archives/pa_stable_v19_061121.tar.gz
-
winmm.lib
-
Es hat geklappt. Danke.