Vai al contenuto

Eclipse su mac


Messaggi raccomandati

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 :cry:

Link al commento
Condividi su altri siti

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

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

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

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

Ma esiste di base una versione di eclipse per il c, perchè aggiungere plugin? :suda:

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

immagine1cf.png

metti le impostazioni di progetto così:

immagine2yh.png

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ù)

immagine3v.png

Ed esegui così:

immagine6z.png

Just when things went right, it doesn't mean they were always wrong

~

» Use Your Illusion «

Link al commento
Condividi su altri siti

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

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 :cold:

Just when things went right, it doesn't mean they were always wrong

~

» Use Your Illusion «

Link al commento
Condividi su altri siti

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

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 :mhh:

Just when things went right, it doesn't mean they were always wrong

~

» Use Your Illusion «

Link al commento
Condividi su altri siti

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... :ghghgh:

Link al commento
Condividi su altri siti

Allora... vediamo tutto con ordine dall'inizio, per esser sicuri :ghghgh:

Crei un nuovo progetto, dovendo usare il C per cose basilari, la scelta è questa:

immagine1jl.png

Vai avanti, dai un nome al progetto e poi ti trovi questa schermata:

immagine2ld.png

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:

immagine3b.png

A questo punto il codice viene compilato e mandato in esecuzione. Se non ti compare da sola la consolle, premi qui:

immagine4yq.png

Inserisci i dati et voilà... tralasciando ora i dubbi su come calcoli il fattoriale, non è questo l'importante ora XD

immagine6zk.png

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

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

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

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

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...