Vai al contenuto

[C] Problemi di compilazione con Eclipse


-hide-

Messaggi raccomandati

Ciao ragazzi.

Sono passato all'ambiente di sviluppo Eclipse per lavorare sul mac.

Ho scaricato il file "eclipse-cpp-ganymede-SR1-macosx-carbon.tar.gz" dal sito ufficiale e l'ho avviato.

Preparo il mio progettino e metto dentro il Source File di hello_word. Qui di fila il codice, anche se penso sia elementre (ma magari il mac richiede altre implementazioni).

#include <stdio.h>

main ()
{
   printf ("Hello [url="http://www.hwupgrade.it/forum/showthread.php?p=25500958#"]Word[/url]\n");
}

Compilo e mi da due errori. Questo è ciò che dice:

**** Build of configuration Debug for project hello word ****

make all

Building file: ../hello_word.c

Invoking: GCC C Compiler

gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"hello_word.d" -MT"hello_word.d" -o"hello_word.o" "../hello_word.c"

Finished building: ../hello_word.c

Building target: helloword

Invoking: MacOS X C Linker

gcc -o "helloword" ./hello_word.o

Undefined symbols:

"_main", referenced from:

start in crt1.10.5.o

ld: symbol(s) not found

collect2: ld returned 1 exit status

make: *** [helloword] Error 1

MacBook 2.4 Ghz Intel Core 2 Duo con Bus frontside a 1.07 Ghz - 4 Gb 1067 Mhz DDR3 - NVIDIA GeForce 9400M

Link al commento
Condividi su altri siti

La funzione main() è la principale in un programma ed è la prima ad essere chiamata.

Però restituisce un intero (che a seconda del valore indica se il programma si è concluso in modo appropriato o meno), ma tu non lo hai specificato, quindi probabile che sia questo il motivo dell'errore.

In pratica prima di main() devi mettere int:

int main() {
}

Inoltre devi fargli restituire appunto l'intero, quindi 0 che significa che programma si conclude normalmente.

Poi in mezzo ci metti tutto quello che ti pare.

int main() {
printf("Hello World!\n");

return 0;
}

Marco - Gallery

MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM - Mac OS X 10.6 Snow Leopard

Link al commento
Condividi su altri siti

Ti ringrazio per la dritta.

Sono abituato ad usare il Dev C++ per Windows XP e programmare in quell'ambiente e con quel sistema operativo, ma avendo comprato di recente un bel Mac ho bisogno di iniziare a prenderci la mano.

Anzi al riguardo ti chiedo se hai guide, preferibilmente in italiano, sulla programmazione in C per Mac.

Non so! Magari cambiano delle righe da scrivere o delle implementazioni da aggiungere extra. Ad esempio questa storia del far ritornare un intero al main col Dev non è necessaria.

MacBook 2.4 Ghz Intel Core 2 Duo con Bus frontside a 1.07 Ghz - 4 Gb 1067 Mhz DDR3 - NVIDIA GeForce 9400M

Link al commento
Condividi su altri siti

Sembrano interessanti.

Sto già studiando il C per il primo anno di Università. Può essermi utile anche per approfondire il discorso.

L'altro sito mi sa che più in la se ne parla :popcorn:

Thanks cmq! :)

MacBook 2.4 Ghz Intel Core 2 Duo con Bus frontside a 1.07 Ghz - 4 Gb 1067 Mhz DDR3 - NVIDIA GeForce 9400M

Link al commento
Condividi su altri siti

  • 5 mesi dopo...

anch'io primo anno di università e l'informatica con eclipse non mi ha mai dato grossi problemi...

solo (per contraddirmi subito) non riesco ad immettere i valori di argv del main prima di eseguire il programma (ovviamente in linguaggio c):)

cosa posso fare?

grazie!!1:baby:

E=M(C^3)/C

CON C DIVERSO DA 0

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...