gcc/MinGW: undefined reference to `waveInOpen@24' trotz -lwinmm
-
Hallo,
ich schreibe gerade an einem simplen Windows-Programm, dass Waveform-Routinen der winmm.dll verwendet. Dieses compiliere ich mit gcc/MinGW mit folgenden Aufrufen
gcc -Wall -O3 -o main.o -c main.c gcc -mwindows -lwinmm -Wall -O3 -o output.exe main.o
und erhalte diese Fehlermeldung:
main.o:main.c:(.text+0xa3): undefined reference to `waveInOpen@24' collect2: ld returned 1 exit status mingw32-make: *** [all] Error 1
Kommentiere ich den Aufruf von waveInOpen aus, linked gcc das Programm und es funktioniert wie vorgesehen.
Habe ich irgendwie die winmm.lib falsch eingebunden oder fehlt noch eine Bibliothek? Letzteres sollte laut http://msdn.microsoft.com/en-us/library/dd743847(VS.85).aspx ja eigentlich nicht der Fall sein.Vielen Dank und beste Grüße!
-
Mit diesem Makefile hat es mal bei mir gelinkt:
all: windres Record1.rc -o Record1Rc.o mingw32-gcc -c Record1.c -o Record1.o -O2 -mwindows -Wall -Wextra -Wswitch-enum -ggdb mingw32-gcc Record1.o Record1Rc.o -o Record1.exe -mwindows -lwinmm -Wall -Wextra -Wswitch-enum -ggdb
Vielleicht muss man mingw32-gcc statt gcc aufrufen... und -mwindows müsste man immer angeben...
-
Hi, hi, es baut immer noch, hatte es zuletzt vor drei Jahren gebaut
Das ist die Version von gcc, die ich verwende:> mingw32-gcc --version mingw32-gcc (GCC) 3.4.5 (mingw-vista special r3) ...