In questa pagina viene descritta la procedura da seguire se si vuole scaricare i sorgenti di Train Director 3 per poterli modificare e compilare per il proprio sistema.

Viene dapprima descritta la procedura per i sistemi Microsoft Windows, e quindi la procedura per compilare su sistemi Linux.

In entrambi i casi, è necessario scaricare i sorgenti del programma.

Prima però di poter compilare i sorgenti è necessario scaricare e compilare le librerie di run-time wxWidgets.
wxWidgets è una collezione di classi C++ molto versatile che rende molto facile create applicazioni multi-piattaforma di apparenza gradevole e dalle funzionalità molto avanzate.

Grazie a queste librerie esattamente lo stesso codice può essere compilato su sistemi Windows a Linux senza modifiche.


Compilare su Windows

Per compilare su Windows usando il file progetto incluso nel pacchetto sorgenti è necessario avere l'ambiente Microsoft Visual Studio 6.x. Si segua la procedura seguente:

  • Si scarichi la libreria wxWidgets 2.8.0 dal seguente sito: http://www.wxwidgets.org/download. Si installino i sorgenti in una directory a scelta. Personalmente io uso la seguente directory: C:\cg\projects\wxWidgets-2.8.0.
  • In Visual Studio si apra il file wxWidgets-2.8.0\build\msw\wx_dll.dsw.
  • Nella finestra progetto (Alt+0) dovrebbe essere automaticamente selezionato il progetto "adv". Se non lo è, si clicchi col bottone di destra del mouse sul progetto "adv" e si scelga "Set as active project".
  • Ci si assicuri della configurazione prescelta tramite il menù "Build" + "Set active configuration". La configurazione consigliata per uno sviluppatore è "adv - Win32 DLL Debug".
  • Si prema il tasto F7 per iniziare la compilazione. A seconda della potenza del proprio computer, la compilazione dovrebbe essere completata nel giro di 10 minuti.
  • Al termine della compilazione, è necessario compilare a mano il progetto "html". Per far ciò, si clicchi col bottone destro del mouse sul progetto "html" e si selezioni "Set as active project". Quindi si compili tale progetto con F7.

    Dopo aver compilato le librerie di run-time, si esca da Visual Studio.

  • E' necessario a questo punto scaricare i sorgenti di Train Director 3 e scompattarli in una directory parallela a quella dove si è scaricato wxWidgets. Nel mio caso, i sorgenti di Train Director 3 risiedono nella directory C:\cg\projects\traindir3.
  • Si rientri in Visual Studio, e si apra il file traindir3\traindir3.dsw.
  • Ci si assicuri che la configurazione attiva corrisponda alla configurazione usata quando si sono compilate le librerie wxWidgets. Si usi il menu "Build" + "Set active configuration" e si scelga "traindir3 - Win32 Debug".
  • Se si sono scaricati i vari files nelle directory corrette dovrebbe essere sufficiente a questo punto premere F7 per creare l'eseguibile traindir3.exe.


Compilare su Linux

Compilare su Linux è più complicato a causa della grande variabilità delle distribuzioni e dei compilatori disponibili. I binari degli eseguibili e delle librerie disponibili sul sito sono stati compilati su un sistema Red Hat Enterprise Linux 3, usando il compilatore gcc 3.2.6 e l'ambiente Gnome.

Purtroppo tale configurazione può non essere compatibile con sistemi più recenti, quali Fedora Core 9.

Si veda anche l'apposito capitolo per compilare su Ubuntu 7.

Se è necessario ricompilare i binari, si segua la seguente procedura:

  • Si scarichi la libreria wxWidgets 2.8.0 dal seguente sito: http://www.wxwidgets.org/download. Si installino i sorgenti in una directory a scelta. Personalmente io uso la seguente directory: /home/gcaprino/wxWidgets-2.8.0.
  • In tale directory, si eseguano i seguenti comandi:

        $ ./configure --with-libpng --with-libjpeg --with-libxpm \
             --with-gnomeprint --with-regex --with-zlib
        $ make
    

    Questo creerà le librerie dinamiche che saranno linkate da Train Director 3.

  • Si scarichino i sorgenti di Train Director 3 e li si scompatti in una directory a piacere. Nel mio caso, i sorgenti di Train Director 3 risiedono nella directory ~/traindir3. Per esempio:

        $ mkdir ~/traindir3
        $ cd ~/traindir3
        $ unzip -a tdir39src.zip
        $ mkdir objs
    

  • A questo punto è necessario modificare il Makefile.lnx in modo da specificare dove si trovano le librerie wxWidgets. Si cambino le seguenti linee nel Makefile.lnx di Train Director:

    top_srcdir = /home/gcaprino/wxWidgets-2.8.0
    top_builddir = /home/gcaprino/wxWidgets-2.8.0
    ...
    CXXFLAGS = -O2 -pthread -Wall -Wundef Wno-ctor-dtor-privacy
    ...
    WX_RELEASE = 2.8
    

  • è possibile ora compilare Train Director 3 semplicemente digitando:
    $ make -f Makefile.lnx
    

    Si noti che la compilazione produce numerosi "warnings". Questo è principalmente dovuto al fatto che gran parte di Train Director è stato scritto in C (versioni precedenti alla 3), e vari sorgenti sono semplicemente stati rinominati con l'estensione .cpp.

  • Al termine della compilazione dovrebbe essere disponibile un file eseguibile chiamato traindir3. Si esegua tale file per far partire il programma.

Come già accennato non posso assicurare che tale procedura funzioni su tutte le combinazioni di distribuzione e di compilatori.

Se qualcuno ha delle aggiunte o correzioni da fare mi mandi pure i file aggiornati e io correggerò il sito.

 

Compilare su Mac OS X

Le istruzioni per compilare su Mac OS X sono praticamente identiche alle istruzioni per compilare su sistemi Linux. La differenza è che si deve modificare il file Makefile.mac. La struttura di tale file è identica a quella del corrispondente Makefile.lnx, per cui si rimanda alle istruzioni al capitolo precedente per la modifica e la compilazione.

Compilare su Linux Ubuntu 7

I sorgenti di Train Director usano stringhe ASCII, mentre molte distribuzioni, compresa Ubuntu, installano di default le librerie wxWidgets col supporto Unicode. In questo caso l'esecuzione del programma causerà un'uscita immediata dal programma.

E' perciò indispensabile scaricare e ricompilare il programma con le librerie wxWidgets col supporto per stringhe ASCII.

Si segua la seguente procedura:

  • Si entri nel sistema come "root".
  • Si aggiunga la seguente linea al file /etc/apt/sources.list:
    http://apt.wxwidgets.org/ gutsy-wx main
    
  • Si esegua il programma "synaptic".
  • Si clicchi sul pulsante "Reload", e quindi sul pulsante "Search".
  • Nel dialogo di "Search", si digiti "libwx", seguito da "OK".
  • Nella lista visualizzata, si selezioni su "libwx2.8-ansi-dev", e si scelga di scaricare e installare i pacchetti dipendenti.
  • All'uscita dal dialogo, si clicchi si "Apply" in modo da installare i pacchetti.
  • Al termine dell'installazione si può uscire da "synaptic".
  • Si scarichino i sorgenti di Train Director in una directory, e si esegua il seguente comando:
       g++ `wx-config --unicode=no --cppdefs` -o traindir3 \
               *.cpp `wx-config --unicode=no --libs`
    
  • Dopo tale comando dovrebbe essere possibile eseguire il programma ./traindir3.


Questa pagina è mantenuta da g_caprino@gmail.com
(Togliere il _ prima di inviare la mail.)
Data di creazione: 25 Dicembre 2006