Dax89 (Member)
Expert
Messaggi: 283
Iscritto: 07/04/2007
|
Correggilo con:
Codice sorgente - presumibilmente C/C++ |
|
|
The Lizard King (Member)
Rookie
Messaggi: 33
Iscritto: 10/06/2007
|
Bene mi dice: "undefined reference to 'PlaySoundA@12'" che significa??
Ultima modifica effettuata da The Lizard King il 29/10/2007 alle 19:34 |
|
Dax89 (Member)
Expert
Messaggi: 283
Iscritto: 07/04/2007
|
Beh, vuol dire che il linker non trova quella funzione nelle librerie che hai incluso.
Prova con PlaySound e basta, comunque ricordati che certe API richiedono la 'A' o la 'W' alla fine del nome.
|
|
The Lizard King (Member)
Rookie
Messaggi: 33
Iscritto: 10/06/2007
|
Allora, se metto la A oppure niente, mi da lo stesso errore di prima... se invece metto la W, mi dice:"error:cannot convert 'const char*' to 'const WCHAR*' for argument '1' to 'BOOL PlaySoundW(const WCHAR*,HINSTANCE__*,DWORD)'"
Cos'è?
|
|
Dax89 (Member)
Expert
Messaggi: 283
Iscritto: 07/04/2007
|
Allora, ho controllato in rete, l'API si chiama PlaySound senza A o W, quindi usa "PlaySound", riguardo all'errore che ti da ti dice che il linker non riesce a trovare da dichiarazione della funzione (PlaySound).
Con la direttiva '#pragma comment(lib, "NomeLibreria") devi includere il file *.a che corrisponde alla DLL winmm.dll (credo si chiami libwinmm.a).
Per sapere il nome del file esatto controlla nella cartella 'Lib' di Code::Blocks
|
|
WARRIOR (Ex-Member)
Guru
Messaggi: 627
Iscritto: 30/03/2007
|
La funzione è PlaySoundA(LPCSTR,HMODULE,DWORD); .
Io ho fatto delle prove e il programma viene compilato con questa intestazione.
Codice sorgente - presumibilmente C/C++ |
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "libwinmm.a")
|
Nelle opzioni del progetto devi anche includere la libreria libwinmm.a .
Ultima modifica effettuata da WARRIOR il 31/10/2007 alle 18:29 |
|
The Lizard King (Member)
Rookie
Messaggi: 33
Iscritto: 10/06/2007
|
Postato originariamente da WARRIOR:
La funzione è PlaySoundA(LPCSTR,HMODULE,DWORD); .
Io ho fatto delle prove e il programma viene compilato con questa intestazione.
Codice sorgente - presumibilmente C/C++ |
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "libwinmm.a")
|
Nelle opzioni del progetto devi anche includere la libreria libwinmm.a . |
Scusa ma in quale cartella trovo libwinm.a? Ho provato già in Programmi - CodeBlocks ma non sono riuscito a trovarla... |
|
WARRIOR (Ex-Member)
Guru
Messaggi: 627
Iscritto: 30/03/2007
|
Io uso Dev-C++ e la trovo nella cartella /lib.
Ti basta fare una ricerca del file.
|
|