Vai al contenuto

aiuto xcode


Messaggi raccomandati

ciao a tutti, sono nuovo del forum e anche del mondo della mela, quindi vi chiedo scusa se dico cose assurde e/o banali

io ho bisogno di programmare in c++ quindi ho installato xcode lo lancio e lo provo, ho letto che bisogna fare nuovo progetto e nn nuovo file altrimenti nn posso compilare e lanciare il programma, faccio nuovo progetto e poi nuovo file scrivo il mio bel programmino che ora vi riporto

#include<iostream>

using namespace std;

#include<stdlib.h>

int main()

{

float a,b,c;

float max;

cout<<"\n\nassegna valore ad a,b,c \n\n";

cin>>a>>b>>c;

max=a;

if(b>max)

{

max=b;

}

if(c>max) max=c;

cout<<"\n\nil massimo valore è:"<<max;

system("PAUSE");

return 0;

}

niente di trascendentale, solo un programma che riconosce il più grande fra tre numeri

e mi da il seguente errore che nn capisco, anche perchè qui a divverenza del dev-c++ nn dice la riga dove è situato l'errore.

l'errore è il seguente:

Building target “max†of project “max†with configuration “Release†— (1 error)

cd /Users/vinz/max

/Developer/usr/bin/g++-4.0 -o /Users/vinz/max/build/max.build/Release/max.build/Objects-normal/ppc/max -L/Users/vinz/max/build/Release -F/Users/vinz/max/build/Release -filelist /Users/vinz/max/build/max.build/Release/max.build/Objects-normal/ppc/max.LinkFileList -framework Carbon -arch ppc -mmacosx-version-min=10.5 -Wl,-dead_strip -no_dead_strip_inits_and_terms -isysroot /Developer/SDKs/MacOSX10.5.sdk

ld: duplicate symbol _main in /Users/vinz/max/build/max.build/Release/max.build/Objects-normal/ppc/max.o and /Users/vinz/max/build/max.build/Release/max.build/Objects-normal/ppc/main.o

collect2: ld returned 1 exit status

ld: duplicate symbol _main in /Users/vinz/max/build/max.build/Release/max.build/Objects-normal/ppc/max.o and /Users/vinz/max/build/max.build/Release/max.build/Objects-normal/ppc/main.o

collect2: ld returned 1 exit status

Build failed (1 error)

qualcuno di voi può essermi di aiuto??? poi un'altra cosa, per aprire un progetto già esistente come si fa? mica devo fare ogni volta crea nuovo progetto?

Link al commento
Condividi su altri siti

Come compilo io i programmi(Alla vecchia maniera funziona) fai cosi

crea un FILE di c++ con xcode dagli un nome e salvalo nella tua directory(quella con la casa col tuo nome) e in quella finestra togli la spunta al coso che ti chiede se vuoi creare anche la versione .h ti appare un file di testo incollaci il codice poi file sav as chiamalo come hai chiamato prima il coso e dagli la stessa directory ricorda di mettere nel nome l' estensione .cpp apri il terminale e scrivi

g++ nome del file.cpp

poi scrivi

./a.out

a me va benissimo....

EDIT

funziona anche con un progetto di xcode senza terminale se hai installato xcode dal cd del mac allora devi selezionare un c++ tool nelle command line utiliti ed incollare il codice nel file .cpp poi fai solo bulid se hai scaricato xcode dal sito apple allora di sei fatto ingannare dall' immagine con scritto C++ con xcode scaricato dal sito devi selezionare a lato i command line utilty e li trovi il c++ tool e fai tutto allo stesso modo:ciao:

When I’m Done, This Night Will Fear Me

Link al commento
Condividi su altri siti

Il problema è dovuto alla doppia funzione main, una in main.c e l'altra in max.c.

Puoi inserire il tuo codice direttamente all'interno del main in main.c; se vuoi mantenere 2 file separati, nel file max.cpp crea una funzione che non si chiami main, ad esempio "float max(float a, float b, float c)", e richiami la funzione max all'interno del main() nel file main.cpp. :(

Link al commento
Condividi su altri siti

Allora, per prima cosa l'header file stdlib.h non ti serve,quindi è inutile includerlo nel programma,perchè non usi nessuna delle sue funzioni.

Per quanto riguarda il problema penso si dovuto alla system("PAUSE"),intanto non ti serve,perchè nei mac dopo l'esecuzione del programma la finestra del terminale non si chiude automaticamente come nel prompt di windows,e poi penso che questa funzione non sia inclusa nelle librerie del compilatore del mac,che sarebbe il gcc.

Comunque se posso darti un consiglio, per questi programmi così piccoli e semplici non ti conviene usare xcode e creare un progetto.Scaricati e usa SMULTRON,è un editor di testo avanzato per programmare veramente ottimo,scrivi il codice,lo salvi con estensione .cpp e poi lo compili da terminale come ti ha detto Nico con il comando:

g++ nomefile.cpp -o nomefile

La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché!

Link al commento
Condividi su altri siti

allora, il programma così com'è l'ho salvato nella home (quella con il nome utente) in estensione .cpp apro il terminale e scrivo

g++ nomefile.cpp

e la risposta è: -bash: g++: command not found

medesima risposta se scrivo g++ nomefile.cpp -o nomefile

per il fatto dei due main mi sa che nn ho ben afferrato, cmq ho provato a togliere il system("PAUSE") ma cmq nn va, e giusto per rispondere un po a tutto e a tutti ho installato xcode dal cd del mio macbook, nn l'ho scaricato da internet

sto scemunendo XD

ah, ho provato anche a scrivere il programma con textedit per poi salvarlo in .cpp (in pieno stile linux) ma da li nn mi fa salvare i documenti con estensione .cpp quindi nulla di fatto

sucasete l'imbranataggggggine ma devo dire che il problema nn è ancora risolto :DD

Link al commento
Condividi su altri siti

allora, il programma così com'è l'ho salvato nella home (quella con il nome utente) in estensione .cpp apro il terminale e scrivo

g++ nomefile.cpp

e la risposta è: -bash: g++: command not found

medesima risposta se scrivo g++ nomefile.cpp -o nomefile

per il fatto dei due main mi sa che nn ho ben afferrato, cmq ho provato a togliere il system("PAUSE") ma cmq nn va, e giusto per rispondere un po a tutto e a tutti ho installato xcode dal cd del mio macbook, nn l'ho scaricato da internet

sto scemunendo XD

ah, ho provato anche a scrivere il programma con textedit per poi salvarlo in .cpp (in pieno stile linux) ma da li nn mi fa salvare i documenti con estensione .cpp quindi nulla di fatto

sucasete l'imbranataggggggine ma devo dire che il problema nn è ancora risolto :D

:confused:Allora è un problema tuo..se nn trova gcc:confused::confused:che cosa strana che versione di xcode hai?

When I’m Done, This Night Will Fear Me

Link al commento
Condividi su altri siti

Infatti,se non trova il comando g++ vuol dire che non hai installato il compilatore.

Prova a disinstallare e a reinstallare xcode.

Neanch'io ho ben capito il discorso dei 2 main, Alenofx potresti spiegarmelo meglio

La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché!

Link al commento
Condividi su altri siti

Ti manca il link a g++ in "/usr/bin/g++" (strano comunque).

In ogni caso puoi sempre usare il path completo "/Developer/usr/bin/g++-4.0".

A proposito dei 2 main, mi riferivo a "ld: duplicate symbol _main"; immagino che nel progetto abbia 2 file .cpp, un main.cpp e un max.cpp, entrambi che dichiarano una funzione main(), e ovviamente è impossibile determinare il punto di partenza del codice. Di main() ce ne deve essere sempre e solo uno soltanto. :(

Link al commento
Condividi su altri siti

Questo lo so, ma penso che il file sia uno solo, max è soltanto una variabile.

Comunque è sicuramente un problema di compilatore e non di codice.

Poi ho notato un'altra cosa che non va,però non ricordo se è proprio un errore o è soltanto un discorso di leggibilità del codice,le direttive del preprocessore vanno inserite tutte insieme,cioè avresti dovuto scrivere:

#include <iostream>

#include <stdlib>

using namespace std;

Anche se ripeto,la stdlib non ti serve per questo programma.

E poi nel nuovo standard C++ non si usa più il .h, quindi in ogni caso devi scrivere #include <stdlib>

La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché!

Link al commento
Condividi su altri siti

e l'odissea continua, allora premettendo che ho provado a togliere il .h ho provato ad eliminare il #include<stdlib> e roba varia, ho reinstallato tutto, magari c'era stato qualche intoppo l'ungo l'installazione...il cd è praticamente nuovissimo, ho acquistato la settimana scorsa il nuovo macbook...

ora, reinstallato tutto quando faccio build sempre solito errore, se da terminale faccio g++ nomefile.cpp premo invio e faccio ./a.out mi lancia il programma...quindi tutto ok, l'unica cosa che mi dice è che nn riconosce il comando syste("PAUSE") e già mi avete spiegato il problema...ora assodato che posso utilizzare questo sistema, mi chiedo:

1)è possibile a questo punto utilizzare un editor di testo per scrivere il codice e salvarlo con estensione .cpp ?????? come si fa?

2)perchè diavolo xcode continua a darmi quest'errore?

Link al commento
Condividi su altri siti

e l'odissea continua, allora premettendo che ho provado a togliere il .h ho provato ad eliminare il #include<stdlib> e roba varia, ho reinstallato tutto, magari c'era stato qualche intoppo l'ungo l'installazione...il cd è praticamente nuovissimo, ho acquistato la settimana scorsa il nuovo macbook...

ora, reinstallato tutto quando faccio build sempre solito errore, se da terminale faccio g++ nomefile.cpp premo invio e faccio ./a.out mi lancia il programma...quindi tutto ok, l'unica cosa che mi dice è che nn riconosce il comando syste("PAUSE") e già mi avete spiegato il problema...ora assodato che posso utilizzare questo sistema, mi chiedo:

1)è possibile a questo punto utilizzare un editor di testo per scrivere il codice e salvarlo con estensione .cpp ?????? come si fa?

2)perchè diavolo xcode continua a darmi quest'errore?

Puoi usare text edit basta che lo salvi mettendo fisicamente l' estensione cpp nel nome...cmq a me nn dice nulla neanche su PAUSE....

When I’m Done, This Night Will Fear Me

Link al commento
Condividi su altri siti

Come editor usa Smultron, è gratuito ed è il migliore.

Ha varie funzionalità, tra cui ad esempio la sintassi colorata per vari linguaggi,tra cui ovviamente il C++.

Ma quando apri un nuovo progetto in xcode che tipo di programma selezioni? Se non ricordo male dovresti selezionare Command Line Utility.

La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché!

Link al commento
Condividi su altri siti

Come editor usa Smultron, è gratuito ed è il migliore.

Ha varie funzionalità, tra cui ad esempio la sintassi colorata per vari linguaggi,tra cui ovviamente il C++.

Ma quando apri un nuovo progetto in xcode che tipo di programma selezioni? Se non ricordo male dovresti selezionare Command Line Utility.

command line utility è li tipo di progetto che ne contiene diversi e fra quelli deve fare un c++ tool...

When I’m Done, This Night Will Fear Me

Link al commento
Condividi su altri siti

Giusto!!

Questo passaggio non lo ricordavo

La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché!

Link al commento
Condividi su altri siti

raga scusate per l'assenza, ma ho avuto un bel po da fare tra studio e lavoro, cmq per ora sorvolo sul tutto usando un text editor e faccio tutto da terminale, per xcode sisi, era proprio quello il passaggio che facevo perchè lo avevo letto su un'altro post già presente, cmq vabbè...il terminale mi basta ^^

grazie ancora a tutti

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...