Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » 'undefined reference to waveInOpen@24'

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.08.2008, 22:14 Uhr
debianese



Hi Leute,

Ich hab ein riesen Problem.. für mein Softwareengineering Projekt muss ich daten über die soundkarte einlesen.. ist zwar kein sound, aber da es analoge signale sind kann man sie über den Mic-eingang einlesen..

in der theorie klingt das relativ einfach, aber die praxis mag da wohl nicht mitspielen..

leider habe ich noch überhaupt keine erfahrung damit sound oder sonstiges einlesen zu müssen.. also hab ich viel gegooglet und ausprobiert.. hab mich mal an einem Beispiel orientiert und folgendes zusammengestellt:


C++:
WAVEFORMATEX format;
HWAVEIN hWaveIn;
PWAVEHDR WaveInHdr;
PBYTE data;

int sampleRate = 60;

format.wFormatTag = WAVE_FORMAT_PCM; // simple, uncompressed format
format.nChannels = 1; // 1=mono, 2=stereo
format.nSamplesPerSec = sampleRate; // 44100
format.nAvgBytesPerSec = sampleRate; // = nSamplesPerSec * n.Channels *     wBitsPerSample/8
format.nBlockAlign = 1; // = n.Channels * wBitsPerSample/8
format.wBitsPerSample = 8; // 16 for high quality, 8 for telephone-grade
format.cbSize = 0;

if (waveInOpen(&hWaveIn, WAVE_MAPPER, &format, 0L, 0L, WAVE_FORMAT_DIRECT))
    return 1;




blöderweise lässt sich das so nicht compilieren.. ich bekomme immer die fehlermeldung 'undefined reference to waveInOpen@24'
damit konnte ich nicht viel anfangen, also hab ich wieder viel rumgesucht.. aber leider bisher keine brauchbare Lösung gefunden.. Ich weiß nur, das es wohl ein Linker fehler ist und das er die implementation nicht finden kann.

Irgendwo wurde geraten winmm.lib zum projekt hinzuzufügen. das ahbe ich auch brav getan, aber es hat nix geändert..

Ich brauch also dringend eure Hilfe, denn ich weiß nicht mehr weiter.. ich steh leider ziemlich unter Zeitdruck und der Dozent, der mir das Projekt aufegeschwatzt hat und mir helfen sollte ist im Urlaub.. noch ziemlich lange.. bis der wieder kommt ist es zu spät!


Ach ja: entwickelt wird in einer vm mit WinXp, MingW und eclipse...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.08.2008, 23:22 Uhr
0xdeadbeef
Gott
(Operator)


Hmm...die Funktion sollte in der winmm.lib definiert sein, das ist richtig. Hast du sie in den Linkeroptionen eingefügt oder als Datei zum Projekt? Ersteres ist das, was du tun musst - wie bei Bibliotheken halt üblich.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.08.2008, 17:06 Uhr
debianese



Hi!

Danke erstmal für die Antwort.. Hatte die Bibliothek tatsächlich als Datei zum Projekt hinzugefügt (über die Projekteigenschaften)..

Ich hab mal versucht die winmm.lib in der .pro-Datei anzugeben (die Oberfläche wird mit qt gemacht).

Hat leider nicht viel geändert :-( Hier mal die genaue Ausgabe:


Code:
C:\Dokumente und Einstellungen\debianese\workspace\se-project>make
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `C:/Dokumente und Einstellungen/debianese/wo
rkspace/se-project'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -Wl,-subsystem,windows -o debug\se-project.exe debug/Diffraktom
eterData.o debug/main.o debug/mainwindow.o debug/moc_mainwindow.o  -L"c:\Program
me\MicrosoftSDKs\Windows\v6.0A\Lib" -L"c:\Qt\4.4.1\lib" -lmingw32 -lqtmaind -Win
MM.lib -lQtGuid4 -lQtCored4
debug/DiffraktometerData.o(.text+0xf9): In function `ZN18DiffraktometerData11sta
rtRecordEv':
C:/Dokumente und Einstellungen/debianese/workspace/se-project/DiffraktometerData
.cpp:71: undefined reference to `waveInOpen@24'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\se-project.exe] Error 1
mingw32-make[1]: Leaving directory `C:/Dokumente und Einstellungen/debianese/wor
kspace/se-project'
mingw32-make: *** [debug] Error 2


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.08.2008, 18:11 Uhr
ao

(Operator)



Zitat:

-L"c:\Program
me\MicrosoftSDKs\Windows\v6.0A\Lib" -L"c:\Qt\4.4.1\lib" -lmingw32 -lqtmaind -Win
MM.lib -lQtGuid4 -lQtCored4


Kennt sich jemand mit MinGW aus und kann sagen, ob das da so richtig ist? Ich hätte erwartet, dass da "-lwinmm" stehen müsste, analog zu den anderen.

Hab selber leider weder MinGW noch qt und kann daher nicht konkret helfen, aber ich würde sagen, dass die winmm genauso im Projekt untergebracht werden muss wie qtmaind, QtGuid4 und QtCored4.

Dieser Post wurde am 30.08.2008 um 18:12 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.08.2008, 19:42 Uhr
0xdeadbeef
Gott
(Operator)


Da sollte allerdings -lwinmm stehen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.09.2008, 14:06 Uhr
debianese



Vielen vielen Dank für eure Hilfe!! Endlich kann ich weitermachen!!

Manchmal ist es echt frustrierend, wenn des Rätsels Lösung eigentlich soo einfach ist, man aber selber nicht drauf kommt! Hat mich ne Menge wertvoller Zeit gekostet.. ich hoffe das kann ich irgendwie wieder aufholen :-/
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: