|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2004
Città: Privincia di Torino
Messaggi: 181
|
[C] - [Link Error] undefined reference to ...
ho uno strano problema col DevC++....
apro 3 file appartenenti ad un progetto main.c, sort.c, sort.h nel main.c rikiamo le funzioni presenti nei sort nel sort.h ci sono i prototipi delle funzioni in sort.c ci sono le funzioni vere e proprie nel main.c e nel sort.c includo il sort.h come libreria ora, io non l'ho mai fatto, i file sono le soluzioni di esercizi di laboratorio del professore, quindi funzionanti al 100% però se provo a compilare il DevC++ non me li compila se compilo il sort.c mi scrive: [Linker error] undefined reference to `WinMain@16' ld returned 1 exit status se compilo il main.c mi scrive: [Linker error] undefined reference to `insertion_sort' [Linker error] undefined reference to `selection_sort' [Linker error] undefined reference to `bubble_sort' ld returned 1 exit status insertion_sort, selection_sort e bubble_sort sono le funzioni ke ci sono in sort.c e in sort.h come prototipi non ho idea di quale sia il problema, ai miei compagni di corso funziona tutto alla perfezione, io invece ottengo questi errori, non so proprio dove sbattere la testa, e tra una settimana ho l'esame, spero ke qualkuno di voi mi sappia aiutare il + presto possibile ![]() grazie in anticipo
__________________
Mobo: Asus K8V-X chipset VIA K8T800 - Proc: AMD Athlon 64 Bit 3000+ Mem: 2x512 MB Ram DDR 400 Mhz - SV: GeForce 4 Mx200-300 HDD: 2x80 GB Maxtor - lettore CD 52x & masterizzatore DVD 8x (CD 40x) Dual Layer |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Feb 2004
Città: Privincia di Torino
Messaggi: 181
|
forse sbagliavo io
ho aggiunto tutti e tre i file in un progetto e l'ho compilato, me lo compila senza problemi... però se provo a eseguirlo parte un main.exe, non si apre nessuna finestra e sto main.exe mi ciuccia il 100% di CPU ![]() lo stesso succede con altri progetti (soluzioni del professore), parte un main.exe, non succede nulla, e la cpu viene sfruttata al 100& dal main.exe, booooh ho come l'impressione ke sia io ke non sia proprio capace a far ste cose, qualkuno mi da una mano? ![]()
__________________
Mobo: Asus K8V-X chipset VIA K8T800 - Proc: AMD Athlon 64 Bit 3000+ Mem: 2x512 MB Ram DDR 400 Mhz - SV: GeForce 4 Mx200-300 HDD: 2x80 GB Maxtor - lettore CD 52x & masterizzatore DVD 8x (CD 40x) Dual Layer |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Feb 2004
Città: Privincia di Torino
Messaggi: 181
|
tra l'altro oltre ai file .c e gli header c'è anke un file ke si kiama "makefile" senza estensione, ke me ne faccio?
![]()
__________________
Mobo: Asus K8V-X chipset VIA K8T800 - Proc: AMD Athlon 64 Bit 3000+ Mem: 2x512 MB Ram DDR 400 Mhz - SV: GeForce 4 Mx200-300 HDD: 2x80 GB Maxtor - lettore CD 52x & masterizzatore DVD 8x (CD 40x) Dual Layer |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
Quote:
se lo apri, troverai delle regole, che specificano al Makefile come compilare i sorgenti... se provi a scrivere "make" dovrebbe fare tutto lui e produrti l'eseguibile ![]()
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Feb 2004
Città: Privincia di Torino
Messaggi: 181
|
ehm....
è un file senza estensione, come lo apro? ![]() e dove scrivo "make"? ![]()
__________________
Mobo: Asus K8V-X chipset VIA K8T800 - Proc: AMD Athlon 64 Bit 3000+ Mem: 2x512 MB Ram DDR 400 Mhz - SV: GeForce 4 Mx200-300 HDD: 2x80 GB Maxtor - lettore CD 52x & masterizzatore DVD 8x (CD 40x) Dual Layer |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
Quote:
![]() se sei su windows, almeno per quanto ne so io, del Makefile non te ne fai proprio niente ![]() ![]()
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Feb 2004
Città: Privincia di Torino
Messaggi: 181
|
oh cazz!
e allora mo come faccio a far fungere ste cose ![]()
__________________
Mobo: Asus K8V-X chipset VIA K8T800 - Proc: AMD Athlon 64 Bit 3000+ Mem: 2x512 MB Ram DDR 400 Mhz - SV: GeForce 4 Mx200-300 HDD: 2x80 GB Maxtor - lettore CD 52x & masterizzatore DVD 8x (CD 40x) Dual Layer |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
guarda.. non ne ho idea...
![]() da cosa scrivi tu, sembra che tu non faccia nulla di sbagliato... li compili tutti insieme, e questa è la procedura giusta... può darsi che il DevC++ sia un po' andato... hai provato ad installare un altro compilatore?
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
![]() non puó neanche aprire una ms-dos shell e scrivere make ??? mi sa che l'uomo del futuro se usa Windows avrá le mani con 2 dita ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
Quote:
è però necessario installarsi il make program per Win, ma non ho idea di cosa sia e di come funzioni ![]() in ogni caso, quel programma dovrebbe funzionare anche senza Makefile... x Super_Cloud: hai voglia di postare il contenuto del Makefile? aprilo con blocco note... se non riesci, rinominalo come .txt... ![]() EDIT: Aleeeee ohoooooooo!! sono Senior Member!! ![]() ![]() ![]() ![]()
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
"atteggiamenti entusiasti e provocatori" al fine di evitare di offendere e deridere gli utenti che hanno uno stato inferiore. Verrai degradato a "bebé member"! ![]() ![]() auguri ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
![]() |
![]() |
![]() |
#12 | ||
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
Quote:
![]() ![]() ![]() Quote:
![]() ![]() ![]()
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" Ultima modifica di Gandalf_BD : 23-06-2006 alle 09:36. |
||
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Feb 2004
Città: Privincia di Torino
Messaggi: 181
|
avevo già aperto il makefile, questo è quello ke c'è dentro:
------------------------------- target: gcc -g -Wall -I. -o ordina main.c sort.c -lm clean: rm -f *~ ordina *.txt ------------------------------- per me sono cose senza senso, credo comandi dos, boh (mah..., ho provato a scrivere "makefile" in dos quando sono nella cartella del file, ma mi dice che makefile non è un cazz...) oddio, mi sto preoccupando, tra qualke giorno ho l'esame come faccio ![]()
__________________
Mobo: Asus K8V-X chipset VIA K8T800 - Proc: AMD Athlon 64 Bit 3000+ Mem: 2x512 MB Ram DDR 400 Mhz - SV: GeForce 4 Mx200-300 HDD: 2x80 GB Maxtor - lettore CD 52x & masterizzatore DVD 8x (CD 40x) Dual Layer |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
se scrivi: make target vengono eseguite le istruzioni corrispondenti in questo caso: gcc -g -Wall -I. -o ordina main.c sort.c -lm che provo a spiegare: gcc é il comando per la compilazione e "linkaggio", ovvero crea l'eseguibile -g attiva l'opzione di debug -Wall attiva altre opzioni troppo lunghe da spiegare -I dice che la directory dove cercare i file .h é . (quella da dove lanci gcc) -o é il nome dell'output (ordina) main.c sort.c sono i files .c da compilare -lm usa le librerie "m" cioé quelle per la matematica elementare Watson ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
in effetti -Wall non é cosí lungo da spiegare:
attiva tutti i warnings. W = warnings all = tutti hai visto quando crei un programma che succede di fare errori oppure il compilatore di avverte di qualcosa di sospetto ? ecco, attivi tutti i possibili avvisi ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
Quote:
![]() (ricorda che lui non è su Linux ![]()
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
É lui che ha postato il makefile e c'era -lm ![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
![]() |
![]() |
![]() |
#18 |
Member
Iscritto dal: Feb 2004
Città: Privincia di Torino
Messaggi: 181
|
è inutile non riesco a compilare sti cazzi di programmi, io mi impicco...
ho provado col dos a scrivere make target o altre cazzate ma non fa nulla porca pupazza ![]() ![]()
__________________
Mobo: Asus K8V-X chipset VIA K8T800 - Proc: AMD Athlon 64 Bit 3000+ Mem: 2x512 MB Ram DDR 400 Mhz - SV: GeForce 4 Mx200-300 HDD: 2x80 GB Maxtor - lettore CD 52x & masterizzatore DVD 8x (CD 40x) Dual Layer |
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 760
|
Quote:
cmq, se vuoi un consiglio, prova un altro compilatore e poi facci sapere i risultati... chessò... turboC, che è vecchio ma funziona bene...
__________________
Gandalf_BD -------------------------------------------- "When you aim at perfection, you discover it's a moving target" |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Quote:
http://www.cygwin.com/mirrors.html Scaricato ed installato, potrai installare, sempre dall'interno di cygwin il compilatore gcc e compilare con il 'make' quei sorgenti. In merito al fatto che ti impegni la cpu al 100% e che ti "parta" solo un main.exe, beh, se si potessero vedere questi sorgenti forse ci si potrebbe capire qualcosa di più. Dai nomi "esotici" dei files, deduco che sia un piccolo programmino di studio sugli algoritmi di ordinamento.
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo Ultima modifica di maxithron : 23-06-2006 alle 19:00. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:03.