Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [C++] Compilazione

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    25

    [C++] Ehm, non so compilare........

    Ciao a tutti, la mia domanda è abbastanza semplice da porre, ma non so la risposta se è troppo complessa o meno...

    Allora, ho il codice sorgente di un software che mi interessa, è free ovviamente, e con GNU license... Ho apportato alcune modifiche ad un modulo del programma, ma essendo un newbie in merito, purtroppo devo chiedervi come faccio a compilarlo per poter ottenere il file eseguibile...

    Perchè ora mi ritrovo con una cartella con almeno 100 files .ccp, .h, ecc, ecc... ma non penso mi basti un solo comando al compilatore per fare tutto no?

    Forse farei prima a trovare qualcuno che si prende tutti i files, e li compila per me, ma preferirei imparare, così da non dover più rompere in futuro... Sempre che non sia troppo complicato da spiegare.... Grazie 1000 a tutti! Ciauz!

  2. #2

    Re: [C++] Ehm, non so compilare........

    Originariamente inviato da Remoz
    Perchè ora mi ritrovo con una cartella con almeno 100 files .ccp, .h, ecc, ecc... ma non penso mi basti un solo comando al compilatore per fare tutto no?
    Ciao,
    non hai specificato per quale sistema operativo e' rilasciato il software. Se e' per GNU/Linux ti basta un solo comando per compilare qualsiasi modifica apportata ad uno od a tutti i file: make.
    Controlla se nel sorgente c'e' un file chiamata makefile, se si basta quel solo comando.

    Saluti
    <| http://cikkox.altervista.org |>
    <| GNU/Linux Registered User #365929 |>
    <| GnuPG/OpenPGP key available |>

  3. #3

    Re: [C++] Ehm, non so compilare........

    Originariamente inviato da Remoz
    Ciao a tutti, la mia domanda è abbastanza semplice da porre, ma non so la risposta se è troppo complessa o meno...

    Allora, ho il codice sorgente di un software che mi interessa, è free ovviamente, e con GNU license... Ho apportato alcune modifiche ad un modulo del programma, ma essendo un newbie in merito, purtroppo devo chiedervi come faccio a compilarlo per poter ottenere il file eseguibile...

    Perchè ora mi ritrovo con una cartella con almeno 100 files .ccp, .h, ecc, ecc... ma non penso mi basti un solo comando al compilatore per fare tutto no?

    Forse farei prima a trovare qualcuno che si prende tutti i files, e li compila per me, ma preferirei imparare, così da non dover più rompere in futuro... Sempre che non sia troppo complicato da spiegare.... Grazie 1000 a tutti! Ciauz!
    Per quale piattaforma è scritto il progetto che devi compilare,linux o windows?

    SOTTO LINUX
    Generalmente sotto linux i sorgenti sono impachettati in un archivio tar a sua volta ippachhettato in un archivio gzip.Per ottenere il programma in formato binario,cioè già compilato lo devi appunto compilare e questo ti è reso semplice dal fatto che la cartella con i sorgenti (o qualche altra all'interno dell'archivio) contiene uno script da schell di nome "makefile" che pensa lui a fare tutto,tu lo devi solo eseguire con un comando tipo make eseguito da quella cartella (che di fatto va a cercarsi le informazioni per compilare in quel makefile).Siccome in genere il sistema ha bisogno di qualche impostazione (tipo variabili d'ambiente etc..)affinchè make possa lavorare a dovere in genere nella cartella suddetta c'è anche un'altro script di nome "configure" che effettua lui tutte queste impostazioni e fa dei check per vedere se sul sistma sono installate con le versioni corrette tutte le librerie necessarie ala compilazione del programma. (In altre parole linux = figo)

    SOTTO WINDOW
    Le cose funzionano "quasi" allo stesso modo,in genere il progetto è statoscritto con qualche ambiente integrato tipo Visual C++ o C+ Builder o altro,ogni ambiente crea i suoi file di progetto che cotengono informazioni su quali files appartengono al programma,opzioni di compilazione etc..Tu pe compilare non devi fare altro che aprire il file di progetto (ovviamente con lo stesso ambiente di sviluppo che l'ha creato e che quindi devi aver installato) e poi dal menu di questo ambiente ci sarà qualcosa tipo "Build" o "Build project" che farà la compilazione per te.Il progetto insomma funziona come il makefile in linux con la differenza che su linux il compilatore è integrato nel sistema è il comando di build pure.
    In soldoni se sei sotto windows ed hai solo sorgenti tipo c++,c,h hai perso perchè non sei in grado di compilare l'intero programma se non con molta fatica.Comunque dubito che questo sia il tuo caso se hai scaricato i sorgenti GPL di u'applicazione da internet.Ciao
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    25
    Grazie ragazzi, molto gentili entrambi!!!
    Il prog lo devo compilare sotto Win32, e in effetti ora che me lo dite, a parte un sacco di files .cpp e .h, nelle varie cartelle del sorgente (è un casino.... azzz.... ) c'è anche un file .vcproj.... Quel proj mi fa tanto pensare al file di progetto no? Dev'essere Visual C++ di microsoft? Se si, devo per forza avere quella per poter compilare tutto eh?

    In tutti i casi, una volta aperto il progetto, se ad esempio volessi compilare tutto senza apportare modifiche, il tutto dovrebbe avvenire senza nessun errore no? (tanto per prova...) Quindi se poi vado ad apportare modifiche, gli errori che ne deriveranno saranno riferiti solo al mio operato...

    Azzz, comunque compilare sotto linux è una bella fig@t@ eh? VVoVe:

    Ma quindi, fatemi capire, in pratica, questo stesso sorgente, io potrei compilarlo per win32 e per linux potendolo così far andare su entrambi i sistemi senza modifica al codice? :master:

    Grazie ancora, ciauz!!

  5. #5
    Originariamente inviato da Remoz
    Grazie ragazzi, molto gentili entrambi!!!
    Il prog lo devo compilare sotto Win32, e in effetti ora che me lo dite, a parte un sacco di files .cpp e .h, nelle varie cartelle del sorgente (è un casino.... azzz.... ) c'è anche un file .vcproj.... Quel proj mi fa tanto pensare al file di progetto no? Dev'essere Visual C++ di microsoft? Se si, devo per forza avere quella per poter compilare tutto eh?

    In tutti i casi, una volta aperto il progetto, se ad esempio volessi compilare tutto senza apportare modifiche, il tutto dovrebbe avvenire senza nessun errore no? (tanto per prova...) Quindi se poi vado ad apportare modifiche, gli errori che ne deriveranno saranno riferiti solo al mio operato...

    Azzz, comunque compilare sotto linux è una bella fig@t@ eh? VVoVe:

    Ma quindi, fatemi capire, in pratica, questo stesso sorgente, io potrei compilarlo per win32 e per linux potendolo così far andare su entrambi i sistemi senza modifica al codice? :master:

    Grazie ancora, ciauz!!
    Il file vcproject è un progetto di visual studio .net credo (o al limite visual c++ 6,però non garantisco).Devi per forza avere quello altrimenti non ce la puoi fare.
    Si la compilazione non ti dovrebbe dare alcun errore se non apporti modifiche.Mi raccomando però se è un progetto di VC.net usa quello e non VC 6 perchè probabilmente non te lo fara neanche aprire,se invece viceversa apri un progetto VC.9 con VC.net te lo dovrebbe convertire tranquillamente e al più ti puo dare qualche warning per l'uso di metodi in disuso in fase di compilazione

    Ma quindi, fatemi capire, in pratica, questo stesso sorgente, io potrei compilarlo per win32 e per linux potendolo così far andare su entrambi i sistemi senza modifica al codice? :master:
    Toglitelo assolutamente dalla testa,non è così per niente (anche se sarebbe molto bello).No unprogetto Visual C++ lo compili solo ed esclusivamente su Visual C++ sotto windows.
    Per avere del codice multipiattaforma devi utilizzare libererie multipiattaforma come le wxWidgets ma questo è un'altro discorso.
    Ciao
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    25
    Ah, ecco, mi sembrava troppo facile
    Beh, però invece questo vale per cpu differenti no? Cioè, ad esempio, lo stesso codice che si può far andare su linux 32bit (quindi non facco con il visual .net penso...) si può compilare per linux 64bit no?

    Comunque, non c'era un modo di ottenere una licenza temporanea di visual .net in maniera gratuita? O mi ricordo male? Tempo fa mi sembrava di aver letto che bastava registrarsi a msdn, o qualcosa del genere... anche perchè, il visual .net non è una suite da 4 soldi immagino VVoVe:

    Grazie ancora! Ciauz!!

  7. #7
    Comunque, non c'era un modo di ottenere una licenza temporanea di visual .net in maniera gratuita? O mi ricordo male? Tempo fa mi sembrava di aver letto che bastava registrarsi a msdn, o qualcosa del genere... anche perchè, il visual .net non è una suite da 4 soldi immagino
    Non te lo so dire a me queste cose le fornisce la mia facoltà in qualità di studente iscritto,ovvimatìnte ne posso fare solo un uso didattico, non a scopi commerciali,comunque è già tanto.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  8. #8
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367
    Senza aprire un nuovo tread, visto che sono in tema, qualcuno sa come compilare i sorgenti di eMule senza VisualStudio.NET? magari con gcc?

  9. #9
    Originariamente inviato da Remoz
    Ah, ecco, mi sembrava troppo facile
    Beh, però invece questo vale per cpu differenti no? Cioè, ad esempio, lo stesso codice che si può far andare su linux 32bit (quindi non facco con il visual .net penso...) si può compilare per linux 64bit no?

    Grazie ancora! Ciauz!!
    No. Le architetture a 64 bit richiedono "degli accorgimenti". Nel senso che, nativamente, un sorgente scritto per architettura 32bit non è un sorgente per 64 bit.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    25
    Originariamente inviato da RaouL_BennetH
    No. Le architetture a 64 bit richiedono "degli accorgimenti". Nel senso che, nativamente, un sorgente scritto per architettura 32bit non è un sorgente per 64 bit.
    Azzz, non ci becco proprio eh? Comunque questa era solo una curiosità... La prox settimana dovrei riuscire a provare un Visual .NET, e vedere se riesco a compilare tutto questo progetto... Mi spaventano un po' tutti questi files in giro per le cartelle del progetto, e tutte ste librerie... Basta un file fuori posto che non mi si compila no? Boh... sperem... altrimenti chiedo a voi!!!

    Ciau, e grazie!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.