noncicredoneanche Inviato 17 Settembre 2009 Segnala Condividi Inviato 17 Settembre 2009 salve, ho un macbook pro che gira su Snow Leopard ho installato la piattaforma Eclipse, ho scritto uno script banale in C ma quando lo vado ad eseguire mi dice "Launche failed. Binary not found" allora ho cercato nel web ed ho visto che serve un plug-in per poter progammare in C, plug-in chiamato CDT, benissimo scaricato ed installato. Non funziona lo stesso ... su questo sito http://download.eclipse.org/tools/cdt/releases/galileo vengono elencati i componenti necessari per far funzionare il tutto. Dopo molto tempo perso nella ricerca ce l'ho quasi fatta, ho installato tutti i componenti tranne uno, Msys che non riesco a trovare per Mac. Purtroppo quel link Msys+MinGW installer non funziona, e cmq anche se funzionasse sarebbe per windows perche l'ho trovato anche in altri siti. Inosmma, sapete dove posso trovare Msys per Mac? (ammesso che non mi serva qualche altro componente che non ho citato) grazie Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 17 Settembre 2009 Autore Segnala Condividi Inviato 17 Settembre 2009 il link che ho postato non funziona non capisco perche, cmq vi erano elencati in quel sito i vari componenti necessari per poter programmare in C su Eclipse. Io ho installato tutto tranne Msys che non riesco a trovare per Mac, ho anche installato gcc (cioè, ho spacchettato tutti i file nella cartella di installazione di Eclipse, credo vada fatto così ma non funziona ancora....correggetemi se ho sbagliato l'installazione) ... mi manca questo Msys. Link al commento Condividi su altri siti Altre opzioni di condivisione...
chitebbeiv Inviato 18 Settembre 2009 Segnala Condividi Inviato 18 Settembre 2009 non ti serve nulla di tutto ciò... dovevi semplicemente creare un progetto C/C++ e poi compilarlo, sempre che non ci siano errori nel sorgente che hai scritto... per verificare la correttezza del tuo codice apri terminale, posizionati nella cartella del sorgente e lancia il comando gcc nome_sorgente.c -o nome_binario Se te lo compila allora non ci sono errori nel codice e puoi eseguirlo con ./nome_binario P.S.: i file in C non sono script ma sorgenti.  MacBook Pro 2011 13" i5 2.4GHz 4GB  I'm a mac user Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 18 Settembre 2009 Autore Segnala Condividi Inviato 18 Settembre 2009 si scusa lo so che sono sorgenti, ho sbagliato a scrivere ma allora io il pulsantino tanto comodo che c'è nell'interfaccia di Eclipse (ovvero la freccettina play di colore nero dentro un cerchietto verde) non potrò mai usarla? devo per forza passare dal terminale? mi sembra un pò rude come metodo... Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 18 Settembre 2009 Autore Segnala Condividi Inviato 18 Settembre 2009 e poi nome_sorgente è il nome del file , nome_binario cos'è? .. io il terminale non lo so usare ... per questo mi ero affidato ad un'interfaccia, altrimenti facevo tutto da terminale ... Link al commento Condividi su altri siti Altre opzioni di condivisione...
chitebbeiv Inviato 18 Settembre 2009 Segnala Condividi Inviato 18 Settembre 2009 il metodo del terminale lo fai per verificare se il sorgente che hai scritto è corretto o meno. in eclipse, una volta compilati i sorgenti ti crea il file binario che puoi eseguire con il tasto play. nome_binario è un nome che scegli tu per il file binario che il compilatore (gcc) deve crearti. non credo si possa programmare in C/C++ senza conoscere un minimo di sintassi della shell, inoltre credo che dovresti cominciare con un buon manule di programmazione e poi con un manuale di C, non puoi costruire una casa se non sai come maneggiare i mattoni...  MacBook Pro 2011 13" i5 2.4GHz 4GB  I'm a mac user Link al commento Condividi su altri siti Altre opzioni di condivisione...
Silver Shadow Inviato 18 Settembre 2009 Segnala Condividi Inviato 18 Settembre 2009 Ma esiste di base una versione di eclipse per il c, perchè aggiungere plugin? Eccola qui: http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-cpp-galileo-macosx-cocoa.tar.gz Crei un nuovo progetto C metti le impostazioni di progetto così: Poi compili cliccando qui: (eventuali errori te li riporta nella finestrella consolle sotto, anche se non è molto preciso... per dire, i segmentation fault non li segnala, li scopro da terminale al più) Ed esegui così: Just when things went right, it doesn't mean they were always wrong ~ » Use Your Illusion « Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 18 Settembre 2009 Autore Segnala Condividi Inviato 18 Settembre 2009 Ragazzi sono passato ad Xcode, grazie lo stesso dato che ci sono però vi faccio una domanda ho scritto il mio primo sorgente, però compilandolo mi dà questo errore, vi posto l'immagine. Link al commento Condividi su altri siti Altre opzioni di condivisione...
iTia Inviato 18 Settembre 2009 Segnala Condividi Inviato 18 Settembre 2009 nn devi dargli return 0 se c'e int main? MacBook Pro 13'' iPhone 3G 4.0.2 (8A400) Il mio Twitter Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 18 Settembre 2009 Autore Segnala Condividi Inviato 18 Settembre 2009 scusa l'ignoranza, dove lo devo mettere return 0? Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 18 Settembre 2009 Autore Segnala Condividi Inviato 18 Settembre 2009 ho provato anche così con questo sorgente: /* * untitled.c * C:C++ * * Created by Alessio Ruggeri on 18/09/09. * Copyright 2009 __MyCompanyName__. All rights reserved. * */ #include "untitled.h" #include <stdio.h> #include <stdlib.h> int main() { int somma; int num1; int num2; printf("Inserisci il primo valore: "); scanf("%d", &num1); printf("Inserisci il secondo valore: "); scanf("%d", &num2); somma = num1 + num2; printf("La somma dei due numeri e' la seguente: %d", somma); return 0; } mi dà sempre il solito errore, xo è strano, nel progetto ci sono due sorgenti, quello che ho postato prima, che mi dà quell'errore, e c'è anche questo qui di ora.... ma la cosa strana è che l'errore rimane sempre il solito, quindi il solito messaggio di errore di debug (che quindi si riferisce sempre al file "fattorizzazione.c" ma qeusto secondo sorgente non si chiama così....) come mai? non ci capisco più nulla Link al commento Condividi su altri siti Altre opzioni di condivisione...
Silver Shadow Inviato 18 Settembre 2009 Segnala Condividi Inviato 18 Settembre 2009 Perchè appunto hai due main nello stesso progetto, ecco l'errore! Il main è la funzione che viene avviata quando esegui il programma; se tu hai 2 file sorgenti differenti, con un main ciascuno, il compilatore brontola perchè non sa quale dei 2 deve eseguire. Ogni progetto deve avere 1 solo main Just when things went right, it doesn't mean they were always wrong ~ » Use Your Illusion « Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 19 Settembre 2009 Autore Segnala Condividi Inviato 19 Settembre 2009 si avevi ragione quando creo il progetto in automatico mi crea il file main.o dove all'interno c'è main ( ) ora ho risolto, però vado ad eseguire il codice e mi appare una schermata vuota... O_O /* * fattorizzazione.c * C:C++ * * Created by Alessio Ruggeri on 18/09/09. * Copyright 2009 __MyCompanyName__. All rights reserved. * */ #include "fattorizzazione.h" #include <stdio.h> int funct (){ int n; int count; int fact; printf ("Introdurre n"); scanf ("%d",&n); fact=1; for (count=2; count<=n; count=count+1){ fact=fact+count; printf ("Il fattoriale di %d e' %d",n,fact); } return 0; } Link al commento Condividi su altri siti Altre opzioni di condivisione...
Silver Shadow Inviato 19 Settembre 2009 Segnala Condividi Inviato 19 Settembre 2009 Eh si... stavolta non c'è nessun main! Hai scritto un sorgente con la funzione funct.... ma la funzione che il programma avvia quando premi play è il main! Quindi, se hai lasciato il main nell'altro sorgente, sta eseguendo quello e non questo che vuoi tu... Fai così: cancella l'altro file che contiene il main, e rinomina funct in main. Vedrai che ora fa quel che vuoi tu Just when things went right, it doesn't mean they were always wrong ~ » Use Your Illusion « Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 19 Settembre 2009 Autore Segnala Condividi Inviato 19 Settembre 2009 ho fatto come hai detto, ho cancellato nel progetto il file main.m che conteneva appunto la funzione main ora il sorgente è il seguente quindi /* * fattorizzazione.c * C:C++ * * Created by Alessio Ruggeri on 18/09/09. * Copyright 2009 __MyCompanyName__. All rights reserved. * */ #include "fattorizzazione.h" #include <stdio.h> int main () { int n; int count; int fact; printf ("Introdurre n"); scanf ("%d",&n); fact=1; for (count=2; count<=n; count=count+1){ fact=fact+count; printf ("Il fattoriale di %d e' %d",n,fact); } return 0; } ma quando vado a compilare ed eseguire, in basso a sinistra mi viene scritto: GDB: running e non mi appare nessuna finestra... Link al commento Condividi su altri siti Altre opzioni di condivisione...
Silver Shadow Inviato 19 Settembre 2009 Segnala Condividi Inviato 19 Settembre 2009 Allora... vediamo tutto con ordine dall'inizio, per esser sicuri Crei un nuovo progetto, dovendo usare il C per cose basilari, la scelta è questa: Vai avanti, dai un nome al progetto e poi ti trovi questa schermata: Ora: il file main.c è il file contenente il codice sorgente (può avere anche nomi diversi, non importa). Quel file con l'iconcina del terminale, invece, è l'eseguibile. Doppio click sul main.c, ci metti il tuo codice. Una volta finito premi su Build & Go: A questo punto il codice viene compilato e mandato in esecuzione. Se non ti compare da sola la consolle, premi qui: Inserisci i dati et voilà ... tralasciando ora i dubbi su come calcoli il fattoriale, non è questo l'importante ora XD Credo sbagliassi sulla creazione/scelta del progetto proprio, oppure semplicemente non compariva solo la consolle Just when things went right, it doesn't mean they were always wrong ~ » Use Your Illusion « Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 19 Settembre 2009 Autore Segnala Condividi Inviato 19 Settembre 2009 ok risolto, dovevo solo cliccare sull'iconcina del terminale dato che non mi partiva da solo ... si il calcolo del fattoriale era sbagliato, invece di fare il prodotto avevo messo il + per sbaglio, e la stampa andava fuori dal for ovviamente... funziona ... ecco qui il risultato Running… Introdurre n 4 Il fattoriale di 4 e' 24 Debugger stopped. Program exited with status value:0. rimane un problema, non mi crea l'eseguibile ... cioè nell'elenco dei sorgenti del progetto ho solo "fattorizzazione.c" sulla sinistra oltre a questo non mi appare l'eseguibile. Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 19 Settembre 2009 Autore Segnala Condividi Inviato 19 Settembre 2009 ok risolto, sbagliavo nella scelta del tipo di progetto. dato che la mia versione è diversa dalla tua ... non trovavo standard tool, nella mia versione di Xcode si chiama Command-line ... io inizialmente avevo scelto il menu Applicazioni e poi avevo cliccato su Cocoa Application ... ma non mi creava l'eseguibile. ora funziona. grazie mille ... poi vabbe cercherò di capire a cosa servono gli altri tipi di progetto xD Link al commento Condividi su altri siti Altre opzioni di condivisione...
Silver Shadow Inviato 19 Settembre 2009 Segnala Condividi Inviato 19 Settembre 2009 Pian piano si impara tutto Just when things went right, it doesn't mean they were always wrong ~ » Use Your Illusion « Link al commento Condividi su altri siti Altre opzioni di condivisione...
noncicredoneanche Inviato 19 Settembre 2009 Autore Segnala Condividi Inviato 19 Settembre 2009 ah ehm aggiungo .... il sorgente è fatto in C, però ovviamente l'eseguibile che ne esce fuori è alquanto spartano. Per poter creare un'interfaccia (simile hai "pulsantini" che si creavano in Visual Basic) che devo usare? Objective-C ? Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.