PDA

View Full Version : [c++/ FOX]Come installo le librerie grafiche FOX su Windows???


anx721
14-02-2004, 22:04
Salve,

vorrei provare ad istallare le suddtete librerie per windows, come compilatore ho istallato MinGW, ho anche istallato Cygwin che serve ad emulare una shell linux per eseguire comandi, con la quale configurare le libreire fox. Ho seguito ciò che è scritto nella (breve) guida sul sito di riferimentodelle Fox, dalla shell mi sono portato nella cartella in cui ho scompattato le librerie e ho digitato ./configure per eseguire il file di script che serve a configurarle, ma lo script termina quasi subito con questo messaggio:

checking for gcc...no
checking for cc....no
configure: error: no acceptable cc found in $PATH


Qualcuno ha provato ad istallare queste librerie sotto windows e sa dirmi come ha fatto?

Grazie e ciao.


PS: riporto qui il testo della guida per l'istallazione:



To get started, you will need to download and install the following packages:

The Cygwin tools, or
some reasonable substitute. You will at least need a bash-compatible shell
and GNU make version 3.76.1 or earlier;

The latest MinGW distribution; and,

The latest FOX distribution;

If you want to use OpenGL, you'll also need to download the OpenGL header files MinGW; they are not a standard part of the packages listed above. Check the MinGW FAQ listfor more information about how to develop OpenGL applications using MinGW.

Now, because of some problems with the version of make distributed with MinGW (currently, make-3.77) you'll need to use an earlier version of make, such as the one distributed with the Cygwin tools (make-3.76.1). Ensure that the correct version of make is picked up by either renaming or deleting the version of make distributed with MinGW.

Next, unpack the FOX distribution somewhere by typing, e.g.,

tar xzf fox-0.99.149.tar.gz

and then go to the top-level directory of the FOX distribution and type:

./configure

If configure stops rather quickly, right after it prints the message about "checking whether make sets ${MAKE}", it's picking up the wrong version of make (see the notes a few paragraphs earlier).

Once configure is finished doing its thing, and assuming there were no errors, build the library and supporting executables by typing:

make

and then sit back and wait ;)

cionci
15-02-2004, 09:46
Non credo che possa utilizzare MinGW...o sbaglio ?
Devi scaricare il pacchetto di compilazione per Cygwin...

Sarebbe interessante provare con MSYS di MinGW...

anx721
15-02-2004, 13:00
Originariamente inviato da cionci
Non credo che possa utilizzare MinGW...o sbaglio ?
Devi scaricare il pacchetto di compilazione per Cygwin...


Sul sito dice che ciò che bisogna avere è:


- The Cygwin tools, or some reasonable substitute;
- The latest MinGW distribution
- The latest FOX distribution.


Il pacchetto di compilazione di Cygwin serve per compilare le librerie? Cio anzicchè usare minGW stesso che già ho devo usare il pacchetto di Cygwin?

Oggi dopo aver messo nella variabile PATH di windows il percorso della cartella binaria di mingw mi dà un errore diverso:


checking whether make sets ${MAKE}...eval: 1: Syntax error: Unterminated Unquoted string


può essere questo il problema di cui si parla nella guida quando dice:


because of some problems with the version of make distributed with MinGW (currently, make-3.77) you'll need to use an earlier version of make, such as the one distributed with the Cygwin tools (make-3.76.1). Ensure that the correct version of make is picked up by either renaming or deleting the version of make distributed with MinGW.
If configure stops rather quickly, right after it prints the message about "checking whether make sets ${MAKE}", it's picking up the wrong version of make.


Pero nella cartella bin di cygwin non vedo nessun file chiamato make...

Ciao.

anx721
15-02-2004, 16:14
Ho scaricato il pacchetto di compilazione di cygwin e sono riuscito a compilare le librerie, ora se provo a compilare un programma complia senza erori, se faccio il build mi dà un errore del linker:

D:\Programs\MinGWStudio\MinGW\lib\libmingw32.a(main.o)(.text+0x97):main.c: undefined reference to `WinMain@16'

Con quali libreire devo linkare il mio programma? Su un altro thread del forum ho letto di linkare con Fox1.1, le uniche libreire che trovo in una sottocartella in cui sono state compilate le fox sono

libFOX-1.1.a
libFOX-1.1.lai

se aggiungo libFOX-1.1 tra le librerie con cui linkare (in project settings) mi dà l'errore:

D:\Programs\MinGWStudio\MinGW\bin\..\lib\gcc-lib\mingw32\3.3.1\..\..\..\..\mingw32\bin\ld.exe: cannot find -llibFOX-1.1

lo stesso anche se copio quella libreria nella cartella lib di minwg; qualcuno mi sa aiutare???

anx721
15-02-2004, 19:40
Ora invece di linkare libFOX-1.1 che è il nome del file, ho linkato FOX-1.1, e non dà più l'errore di file non trovato, ma quando eseguo il linker mi dà più di 300 errori di undefined reference.

nessuno mi sa aiutare :cry:

ilsensine
16-02-2004, 08:28
Forse devi anche linkare con qualche libreria di windows?

Puoi darci qualcuno degli undefined reference, giusto per capire cosa cerca?

anx721
16-02-2004, 11:50
Ecco gli errori:



Linking...
D:\Istallazioni\Fox\fox-1.1.46\fox-1.1.46\src\.libs\libFox-1.1.a(FXApp.o)(.text+0x9b6a):FXApp.cpp: undefined reference to `_TrackMouseEvent@4'
D:\Istallazioni\Fox\fox-1.1.46\fox-1.1.46\src\.libs\libFox-1.1.a(fxutils.o)(.text+0x30f):fxutils.cpp: undefined reference to `__getreent'
D:\Istallazioni\Fox\fox-1.1.46\fox-1.1.46\src\.libs\libFox-1.1.a(fxutils.o)(.text+0x34d):fxutils.cpp: undefined reference to `__getreent'
D:\Istallazioni\Fox\fox-1.1.46\fox-1.1.46\src\.libs\libFox-1.1.a(fxutils.o)(.text+0x37b):fxutils.cpp: undefined reference to `__getreent'
D:\Istallazioni\Fox\fox-1.1.46\fox-1.1.46\src\.libs\libFox-1.1.a(fxutils.o)(.text+0x3ad):fxutils.cpp: undefined reference to `__getreent'
D:\Istallazioni\Fox\fox-1.1.46\fox-1.1.46\src\.libs\libFox-1.1.a(fxutils.o)(.text+0x3e5):fxutils.cpp: undefined reference to `__getreent'



ciao.

ilsensine
16-02-2004, 12:43
Per il primo devi linkare con comctl32, come documentato qui:
http://www.fox-toolkit.org/win32.html
Per il secondo, ho trovato questo:
http://www.cygwin.com/ml/cygwin/2003-01/msg01441.html

anx721
16-02-2004, 13:13
Grazie,

del primo suggerimento non mi ero accorto, nonostante avessi letto quella pagina, perchè veniva riportato nella sezione relativa a Visualc++ e non minGW, per il secondo problema se ho capito leggendo quelle poche righe non ci sarebbero soluzioni???

ilsensine
16-02-2004, 13:29
Da quello che dice l'autore, dovresti fare in modo che al compilatore non venga passato -D__linux__...
Mi sembra strano cmq, tempo fa compilai le fox con il cygwin e non ho avuto questo problema...

anx721
16-02-2004, 14:14
Originariamente inviato da ilsensine
Da quello che dice l'autore, dovresti fare in modo che al compilatore non venga passato -D__linux__...
Mi sembra strano cmq, tempo fa compilai le fox con il cygwin e non ho avuto questo problema...


E come faccio??? Non compilo le fox direttamente nel senso che per compilare le fox quello che faccio è lanciare da cygwin il file di script configure e poi i comandi make e make install, nel file configure non c'è nessuna occorrenza della parola __linux__.

Volevo provare a compilare non usando gcc di cygwin ma il gcc di minGW, ma mi da altri errori quando lancio make. Cos'è MSYS di cui parla cionci nel primo messaggio di risposta?

Finora sono riuscito a compilare ed eseguire senza problemi solo con VisualC++, ma volevo usare un altro ambiente di programmazione :mad:

ilsensine
16-02-2004, 14:29
Sulla cygwin ml un problema simile è stato imputato a una errata installazione, sicuro che hai installato cygwin correttamente e non ci sono conflitti ad es. con le dll del gcc formito con mingw?

anx721
16-02-2004, 14:42
Durante l'istallazione non ho avuto messaggi di errore, ho prima istallato i pacchetti di default, poi ho aggiornato istallando alcuni paccheeti della sezione devel, come il gcc. Durante l'istallazione non mi ha dato problemi, come faccio a verificare i conflitti tra le dll?

ilsensine
16-02-2004, 14:52
...aiuta se rispondo "non ho idea"? :D

Innanzitutto prova a sradicare completamente mingw e cygwin, quindi a reinstallare solo cygwin...

anx721
16-02-2004, 16:05
Originariamente inviato da ilsensine
...aiuta se rispondo "non ho idea"? :D

Innanzitutto prova a sradicare completamente mingw e cygwin, quindi a reinstallare solo cygwin...


Ho fatto cosi, ma mi da sempre gli stessi errori, evidentemente non funziona proprio, grazie lo stesso.

ilsensine
16-02-2004, 16:15
Cmq non è un problema delle fox, quell'errore è stato riportato anche compilando altri programmi...