[Risolto] Compilare un progetto creato in Visual Studio in linguaggio C

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
gilberto.brizzi
Prode Principiante
Messaggi: 20
Iscrizione: mercoledì 8 ottobre 2008, 10:12

[Risolto] Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gilberto.brizzi »

Salve a tutti.
Vi premetto subito che sono un'analfabeta di Linux, ed la prima volta che lo uso. Ho provato a cercare la risposta ai miei problemi nel forum ma non ho trovato come fare.  ??? Ora mi spiego :

ho fatto un progetto in Visual Studio (quindi sotto Windows), su vari file sorgente (.cpp) e relativi header (.h), e scritto in linguaggio C. Il main legge gli input da un file di testo (.txt). Ora pero`, dovrei, tramite una shell, lanciare ripetutamente il mio programma cambiando ad ogni lancio una riga del file di testo, per riuscire a fare delle simulazioni senza dover tutte le volte rilanciare il programma come sarei costretto a fare in Visual Studio.

Il mio e` un caso di alfabetizzazione per cui avrei proprio bisogno di spiegazioni da ignorante utente di Windows... (mad)

Vi prego aiutatemi, ne va della mia laurea... :'(
Ultima modifica di gilberto.brizzi il martedì 14 ottobre 2008, 17:29, modificato 1 volta in totale.
Avatar utente
Guiodic
Accecante Asceta
Accecante Asceta
Messaggi: 28474
Iscrizione: martedì 24 aprile 2007, 15:28
Località: Roma
Contatti:

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da Guiodic »

ehm... e che c'entra linux in tutto ciò?
gilberto.brizzi
Prode Principiante
Messaggi: 20
Iscrizione: mercoledì 8 ottobre 2008, 10:12

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gilberto.brizzi »

Il mio prof VUOLE che faccia fare le simulazioni sotto Linux, anche perche' in Windows non si puo` fare, se non andando a modificare il sorgente. Ma quest'ultima ipotesi toglierebbe flessibilita` al programma stesso. Per cui, devo fare in modo di lanciare il tutto da una shell di Linux...
Il discorso della flessibilita` e` legato al fatto di poter cambiare per ogni diversa simulazione, un input alla volta, lasciando pero` il sorgente sempre uguale.

So` che potro` risultare poco chiaro, ma e` perche` io non ho la piu` pallida idea di come fare, ma a dicembre mi devo laureare, per cui sono disperato...
Dahman
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1013
Iscrizione: mercoledì 31 ottobre 2007, 8:29
Località: Torino

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da Dahman »

C'é qualcosa che non quadra.
Tu dici di aver fatto un programma in C dove la main leggi degli input da un file di testo e li elabora per darti un determinato risultato.
Faccendo cosi tu non cambi il programma ogni volta che vuoi cambiare questi input ma vai solo a toccare il file di testo e rilanci il programma stesso.
E' cosi?
Se ho capito bene allora non capisco dov'é il problema.
In questo modo funziona sia su Linux che su Windows e su qualsiasi altra piattaforma.

Spiega bene qual'é il tuo problema.
Devi ancora fare il programma?
L'hai fatto ma non ti funziona su Linux?
Altrimenti sarà dura aiutarti.

Ciao

Dahman
gilberto.brizzi
Prode Principiante
Messaggi: 20
Iscrizione: mercoledì 8 ottobre 2008, 10:12

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gilberto.brizzi »

Dahman ha scritto: C'é qualcosa che non quadra.
Tu dici di aver fatto un programma in C dove la main leggi degli input da un file di testo e li elabora per darti un determinato risultato.
Faccendo cosi tu non cambi il programma ogni volta che vuoi cambiare questi input ma vai solo a toccare il file di testo e rilanci il programma stesso.
E' cosi?
Se ho capito bene allora non capisco dov'é il problema.
In questo modo funziona sia su Linux che su Windows e su qualsiasi altra piattaforma.

Spiega bene qual'é il tuo problema.
Devi ancora fare il programma?
L'hai fatto ma non ti funziona su Linux?
Altrimenti sarà dura aiutarti.
Perfetto, in effetti quello che voglio cambiare ogni volta e` il file di testo.

Ora il problema e` che sotto Windows per lanciare il programma, che ho gia` pronto, devo manualmente andare a modificare il file di testo, e poi rilanciare il programma da dentro Visual Studio (il che e` impossibile su migliaia di simulazioni).

Quello che vorrei fare invece e` fare un ciclo da Shell (uso la parola shell perche` me l'hanno messa in bocca i prof) che ad ogni passaggio cambi un input (ovvero una riga del file di testo), lanci il programma e salvi il risultato su un'altro file di testo.
Avatar utente
Guiodic
Accecante Asceta
Accecante Asceta
Messaggi: 28474
Iscrizione: martedì 24 aprile 2007, 15:28
Località: Roma
Contatti:

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da Guiodic »

questo si può fare benissimo pure con windows, probabilmente ti serve creare il programmino che modifica il file di testo, poi basta in ciclo in un file batch...

comunque sia, mi pare che il primo problema sia quello di vedere se gcc compila il tuo sorgente.
Dahman
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1013
Iscrizione: mercoledì 31 ottobre 2007, 8:29
Località: Torino

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da Dahman »

Vediamo se ho capito bene: :)
Tu vuoi un comando che:

1- lo esegui,
2- ti chiede un input,
3- tu digiti dei dati,
4- questi dati vengono salvati in una riga del file testo dei dati,
5- viene lanciato il programma in C
6- il programma legge e elabora questa riga,
7- salva il risultato in un altro file,
8- torna al punto 2

Se é cosi, perché non fai il ciclo direttamente nella tua main? o mi é sfuggito qualcosa?

Ciao
dahman
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da Zoff »

A me già sembra strano che salvi i file sorgenti con estensione cpp e poi scrivi il programma in C, ma sorvolando su questo bisognerebbe sapere che tipo di librerie hai usato.
Hai detto che hai creato il progetto su VisualStudio, che versione? Hai usato il framework .NET?
Nel caso basta che fai generale l'eseguibile a VS e installi Mono su linux.

Se invece non hai usato il framework .NET e neanche API di sistema diverse da quelle POSIX allora come suggerito da Guiodic basta che provi a prendere il sorgente del progetto e "darlo in pasto" a GCC...

ciauz
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
gilberto.brizzi
Prode Principiante
Messaggi: 20
Iscrizione: mercoledì 8 ottobre 2008, 10:12

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gilberto.brizzi »

Dahman ha scritto: Vediamo se ho capito bene: :)
Tu vuoi un comando che:

1- lo esegui,
2- ti chiede un input,
3- tu digiti dei dati,
4- questi dati vengono salvati in una riga del file testo dei dati,
5- viene lanciato il programma in C
6- il programma legge e elabora questa riga,
7- salva il risultato in un altro file,
8- torna al punto 2

Se é cosi, perché non fai il ciclo direttamente nella tua main? o mi é sfuggito qualcosa?

Ciao
dahman
Scusate il ritardo ma ho disinstallato Ubuntu dal mio PC, perche` non mi funzionava + la connessione ad internet (ho una chiavetta della Vodafone non compatibile con Linux). Domani lo installo sul pc in Laboratorio e poi mi rifaccio vivo.

Comunque e' cosi' :

1. lancio programma (e non tocco + niente)
2. lui in automatico si prende gli input da file
3. il programma elabora questi input
4. scrive il risultato su un file di uscita

Ora, non mi e` possibile mettere dei cicli nel main, in quanto gli input sono una trentina e nelle simulazioni che dovro` svolgere tali input andranno cambiati di volta in volta. Se mettessi tutti sti cicli possibili nel main verrebbe fuori un pasticcio di programma.
Quello che vorrei fare semplificando parecchio in parole informatiche sarebbe :

1. for (i = 0; i     Win32    ->    Win32 Console Application

A questo punto Visual Studio ti crea un progetto con all'interno il main :

int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}

che e` gia` un file .cpp .

Spero di essere stato un po' + chiaro e spero che sappiate aiutarmi.... :(
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da Zoff »

Beh almeno ora sappiamo che il compialtore è per C++ e non per C
Per cui inanzi tutto appena avrai l'installazione di Ubuntu pronta dovrai installare il pacchetto build-essentials per gli strumenti di compilazione per il C++...

Il problema poi sarà scoprire se hai usato solo API POSIX oppure no...
Nel secondo caso hai poche speranze di farlo funzionare su Unix/Linux...
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
gianmpu
Rampante Reduce
Rampante Reduce
Messaggi: 7721
Iscrizione: giovedì 15 novembre 2007, 17:11

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gianmpu »

gilberto.brizzi ha scritto: Scusate il ritardo ma ho disinstallato Ubuntu dal mio PC, perche` non mi funzionava + la connessione ad internet (ho una chiavetta della Vodafone non compatibile con Linux).
O uomo di poca fede! Capisco che tu sia preso da altre cose, ma se la chiave della vodafone è la internet key, funziona con linux. Qui nel forum ci sono diversi post su questo argomento e la vodafone stessa ha una sezione ricerca e sviluppo dedicata al software libero. Prova a fare una ricerca su google inserendo betavine come chiave.
"Chi c**a sott' 'a neve, pure si ffa 'a bbuca e poi 'a copre, quanno 'a neve se scioje, 'a mm***a vie' sempre fori" T. Milian
gilberto.brizzi
Prode Principiante
Messaggi: 20
Iscrizione: mercoledì 8 ottobre 2008, 10:12

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gilberto.brizzi »

Ok, allora domani per prima cosa installo il pacchetto build essentials e poi provo a compilare i sorgenti...

Per il momento grazie mille, anche se mi sa tanto che domani saro` di nuovo a rompervi le scatole... :-\
gilberto.brizzi
Prode Principiante
Messaggi: 20
Iscrizione: mercoledì 8 ottobre 2008, 10:12

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gilberto.brizzi »

gianmpu ha scritto:
gilberto.brizzi ha scritto: Scusate il ritardo ma ho disinstallato Ubuntu dal mio PC, perche` non mi funzionava + la connessione ad internet (ho una chiavetta della Vodafone non compatibile con Linux).
O uomo di poca fede! Capisco che tu sia preso da altre cose, ma se la chiave della vodafone è la internet key, funziona con linux. Qui nel forum ci sono diversi post su questo argomento e la vodafone stessa ha una sezione ricerca e sviluppo dedicata al software libero. Prova a fare una ricerca su google inserendo betavine come chiave.
No, e` una chiavetta della Mobidata (costava meno), in cui ho messo la scheda Vodafone...
Avatar utente
faustomr
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 840
Iscrizione: venerdì 28 marzo 2008, 13:20

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da faustomr »

Premessa: non ho idea di cosa sia Visual Studio, quindi scusate se dico scemenze. Almeno imparo qualcosa..

Se il problema e` che non si vuole riaprire i file di testo ogni volta e non si vuole modificare il main principale, non basta fare uno script che li modifica volta per volta?
Avatar utente
gianmpu
Rampante Reduce
Rampante Reduce
Messaggi: 7721
Iscrizione: giovedì 15 novembre 2007, 17:11

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gianmpu »

Zoff ha scritto: Il problema poi sarà scoprire se hai usato solo API POSIX oppure no...
Nel secondo caso hai poche speranze di farlo funzionare su Unix/Linux...
Usando VS e creando una applicazione win32 console, la probabilità che vengano usate solo API posix mi sembra moooolto remota. Comunque tentar non nuoce...
"Chi c**a sott' 'a neve, pure si ffa 'a bbuca e poi 'a copre, quanno 'a neve se scioje, 'a mm***a vie' sempre fori" T. Milian
gilberto.brizzi
Prode Principiante
Messaggi: 20
Iscrizione: mercoledì 8 ottobre 2008, 10:12

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gilberto.brizzi »

Comunque le librerie che ho usato sono:

#include
#include
#include
#include
#include

Comunque rimando a domani, ora esco da questo maledetto laboratorio...
gilberto.brizzi
Prode Principiante
Messaggi: 20
Iscrizione: mercoledì 8 ottobre 2008, 10:12

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gilberto.brizzi »

faustomr ha scritto: Se il problema e` che non si vuole riaprire i file di testo ogni volta e non si vuole modificare il main principale, non basta fare uno script che li modifica volta per volta?
Perfetto, e` proprio quello che voglio fare...  (good)
Ma in questo cavolo di laboratorio non siamo ancora riusciti a trovare un pc decente su cui installare Ubuntu... :'( ...Domani dovrebbero portare un Pc nuovo....
Guiodic ha scritto: questo si può fare benissimo pure con windows, probabilmente ti serve creare il programmino che modifica il file di testo, poi basta in ciclo in un file batch...
Visto appunto che c'e` anche la possibilita` che una volta installato non funzioni comunque, mi sapreste dire come fare "programmino che modifica il file di testo, poi basta in ciclo in un file batch..."
Ovvero, programmino sempre in C?
E cos'e` un file batch? E soprattutto come si fa e a cosa serve???

Scusate sempre la mia infinita ignoranza Informatica... >:(

Cosa dite mi conviene provare comunque ad installare Ubuntu o la soluzione via Windows in questo caso e` fattibile ?
(Lo so, magari non la + bella, ma forse la + veloce...cosa per me al momento FONDAMENTALE)...
Avatar utente
faustomr
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 840
Iscrizione: venerdì 28 marzo 2008, 13:20

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da faustomr »

gilberto.brizzi ha scritto: Ovvero, programmino sempre in C?
E cos'e` un file batch? E soprattutto come si fa e a cosa serve???
Non l'ho mai usato, ma un file batch in win dovrebbe essere l'analogo di uno script in shell di linux. Se controlli in rete sicuramente troverai qualcosa di preciso (o magari qualcuna te lo spiegherà qui..). Sono file con estensione .bat e .cmd. Quindi, non credo che tu necessiti di un programma in C per modificare i file di input. Ti basta fare questo "script" in win. Devi imparare il linguaggio però.. Quindi, se ti costa meno fatica modificare un po' il tuo sorgente in modo che faccia ciò che ti serve, anzichè impararti il linguaggio batch (o bash-tcsh...), ti consiglio di lavorare al tuo programma.. Questo dipende da te...  :-\
gilberto.brizzi
Prode Principiante
Messaggi: 20
Iscrizione: mercoledì 8 ottobre 2008, 10:12

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gilberto.brizzi »

Buon giorno a tutti!

Allora sono finalmente riuscito ad installare Ubuntu su un PC.

Ho provato a compilare tutti i file del mio progetto con questa istruzione:

$ g++ -c nome_file.cpp -o nome_file.o

Ora, se non mi da errori e mi crea il file oggetto vuol dire che ha compilato correttamente?????

Per quanto riguarda il main invece, quando provo a compilarlo mi escono questi errori:
:o
laureandi@laureandi1:~/Tesi_beta_3$ g++ -c Tesi_beta_3.cpp -o Tesi_beta_3.o
Tesi_beta_3.cpp:20: error: stray ‘\340’ in program
Tesi_beta_3.cpp:34: error: stray ‘\340’ in program
Tesi_beta_3.cpp:142: error: stray ‘\340’ in program
Tesi_beta_3.cpp:145: error: stray ‘\340’ in program
Tesi_beta_3.cpp:217: error: stray ‘\340’ in program
Tesi_beta_3.cpp:221: error: stray ‘\340’ in program
Tesi_beta_3.cpp:229: error: stray ‘\340’ in program
Tesi_beta_3.cpp:248: error: stray ‘\340’ in program
Tesi_beta_3.cpp:251: error: stray ‘\340’ in program
Tesi_beta_3.cpp:253: error: stray ‘\340’ in program
Tesi_beta_3.cpp:274: error: stray ‘\340’ in program
Tesi_beta_3.cpp:277: error: stray ‘\340’ in program
Tesi_beta_3.cpp:279: error: stray ‘\340’ in program
Tesi_beta_3.cpp:300: error: stray ‘\340’ in program
Tesi_beta_3.cpp:303: error: stray ‘\340’ in program
Tesi_beta_3.cpp:305: error: stray ‘\340’ in program
Tesi_beta_3.cpp:326: error: stray ‘\340’ in program
Tesi_beta_3.cpp:329: error: stray ‘\340’ in program
Tesi_beta_3.cpp:331: error: stray ‘\340’ in program
Tesi_beta_3.cpp:352: error: stray ‘\340’ in program
Tesi_beta_3.cpp:355: error: stray ‘\340’ in program
Tesi_beta_3.cpp:357: error: stray ‘\340’ in program
Tesi_beta_3.cpp:18: error: ‘_TCHAR’ has not been declared
Tesi_beta_3.cpp: In function ‘int _tmain(int, int**)’:
Tesi_beta_3.cpp:88: error: ‘_TCHAR’ has not been declared
Tesi_beta_3.cpp:88: error: expected initializer before ‘}’ token
laureandi@laureandi1:~/Tesi_beta_3$

???

Qualcuno ha qualche idea?

Grazie per la pazienza avuta fin ora da tutti  ;)
Avatar utente
gianmpu
Rampante Reduce
Rampante Reduce
Messaggi: 7721
Iscrizione: giovedì 15 novembre 2007, 17:11

Re: Compilare un progetto creato in Visual Studio in linguaggio C

Messaggio da gianmpu »

Quando devi compilare sotto linux un software composto da più sorgenti ti conviene creare un semplice makefile in cui specifichi tutte le opzioni da dare in pasto al compilatore. Se cerchi in rete trovi molte guide ed esempi pronti su come creare un makefile.
"Chi c**a sott' 'a neve, pure si ffa 'a bbuca e poi 'a copre, quanno 'a neve se scioje, 'a mm***a vie' sempre fori" T. Milian
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti