Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Non mi riconosce alcune funzioni...
Forum - C/C++ - Non mi riconosce alcune funzioni... - Pagina 2

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Dax89 (Member)
Expert


Messaggi: 283
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 19:16
Lunedì, 29/10/2007
Correggilo con:

Codice sorgente - presumibilmente C/C++

  1. #include <mmsystem.h>



:k:

PM Quote
Avatar
The Lizard King (Member)
Rookie


Messaggi: 33
Iscritto: 10/06/2007

Segnala al moderatore
Postato alle 19:31
Lunedì, 29/10/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
PM Quote
Avatar
Dax89 (Member)
Expert


Messaggi: 283
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 20:57
Lunedì, 29/10/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.;)

PM Quote
Avatar
The Lizard King (Member)
Rookie


Messaggi: 33
Iscritto: 10/06/2007

Segnala al moderatore
Postato alle 21:53
Lunedì, 29/10/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'è? :d

PM Quote
Avatar
Dax89 (Member)
Expert


Messaggi: 283
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 17:34
Mercoledì, 31/10/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:k:

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 18:21
Mercoledì, 31/10/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++

  1. #include <windows.h>
  2. #include <mmsystem.h>
  3. #pragma comment(lib, "libwinmm.a")



Nelle opzioni del progetto devi anche includere la libreria libwinmm.a  :k:.

Ultima modifica effettuata da WARRIOR il 31/10/2007 alle 18:29
PM Quote
Avatar
The Lizard King (Member)
Rookie


Messaggi: 33
Iscritto: 10/06/2007

Segnala al moderatore
Postato alle 21:38
Mercoledì, 31/10/2007
Testo quotato

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++

  1. #include <windows.h>
  2. #include <mmsystem.h>
  3. #pragma comment(lib, "libwinmm.a")



Nelle opzioni del progetto devi anche includere la libreria libwinmm.a  :k:.



Scusa ma in quale cartella trovo libwinm.a? Ho provato già in Programmi - CodeBlocks ma non sono riuscito a trovarla...

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 15:35
Giovedì, 01/11/2007
Io uso Dev-C++ e la trovo nella cartella /lib.
Ti basta fare una ricerca del file. :)

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo