Membres inscrits :2359
Membres en ligne : 0
Invités en ligne : 6


|
Conversation (Résolue) : Peut-on compiler WXSQLITE3 pour des environnements 64 bits? |
j3suscri3-kun (Membre)
Lieu: AUBAGNE
Inscrit le : 13-02-2012
Messages: 12
Snippets: 0
Tutoriels: 0
Hors ligne |
Suite à mon précédent post,
j'ai voulu aller plus loin en générant les versions en 32 et 64 bits pour WXWIDGETS et WXSQLITE3.
Concernant WXWIDGETS, tout s'est bien passé mais pas pour WXSQLITE3 (avec en utilisant la même syntaxe entre la génération de WXWIDGETS et WXSQLITE3).
Je voudrais savoir si cela est possible ou si je m'aventure sur quelque chose de totalement décalé.
Code: rem Compilation des sources de WXWIDGETS en 32 bits (ok) mingw32-make -f makefile.gcc CPPFLAGS="-Os -m32" CPP="gcc -E -D_M_IX86" DEBUG_FLAG=0 BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 rem Compilation des sources de WXWIDGETS en 64 bits (ok) mingw32-make -f makefile.gcc CPPFLAGS="-Os" CPP="gcc -E -D_M_AMD64" DEBUG_FLAG=0 BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 rem Compilation des sources de WXSQLITE3 en 64 bits (échec) mingw32-make -f makefile.gcc CPPFLAGS="-DwxDEBUG_LEVEL=0 -Os gcc -E -D_M_AMD64" WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=31 WX_DIR=..\..\..\wxwidgets SHARED=1 SQLITE3_DIR=..\sqlite3
Cordialement,
Romain VERICEL
|
« Vis comme si tu devais mourir demain... Apprends comme si tu devais vivre toujours. » Gandhi
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Salut.
j3suscri3-kun:Je voudrais savoir si cela est possible ou si je m'aventure sur quelque chose de totalement décalé. Normalement, ça doit être jouable. Pour ma part, ça a marché (http:/mywxstuff.olympe.in/?/libs/wxaddons.html#wxsqlite) mais j'ai triché : j'ai compilé mes composants wxCode en re-créant un projet Code::Blocks et en y ajoutant les sources sqlite et wxsqlite.
j3suscri3-kun:rem Compilation des sources de WXSQLITE3 en 64 bits (échec) mingw32-make -f makefile.gcc CPPFLAGS="-DwxDEBUG_LEVEL=0 -Os gcc -E -D_M_AMD64" WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=31 WX_DIR=..\..\..\wxwidgets SHARED=1 SQLITE3_DIR=..\sqlite3 Tu obtiens quoi comme erreur ?
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
j3suscri3-kun (Membre)
Lieu: AUBAGNE
Inscrit le : 13-02-2012
Messages: 12
Snippets: 0
Tutoriels: 0
Hors ligne |
Mon probleme se situe aussi bien en 32 qu'en 64 bits.
Le probleme a l'air de venir de "gcc -E -D_M_AMD64" ou "gcc -E -D_M_IX86".
Car juste sans cette partie, cela fonctionne.
Le message est:
Code: g++: error: gcc: No such file or directory
Ma tentative de compilation se fait via cette syntaxe:
Code: rem 32 bits mingw32-make -f makefile.gcc CPPFLAGS="-DwxDEBUG_LEVEL=0 -Os -m32 gcc -E -D_M_IX86" WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=31 WX_DIR=..\..\wxwidgets SHARED=1 SQLITE3_DIR=..\sqlite3 rem 64 bits mingw32-make -f makefile.gcc CPPFLAGS="-DwxDEBUG_LEVEL=0 -Os gcc -E -D_M_AMD64" WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=31 WX_DIR=..\..\..\wxwidgets SHARED=1 SQLITE3_DIR=..\sqlite3
Merci encore pour ton aide.
|
« Vis comme si tu devais mourir demain... Apprends comme si tu devais vivre toujours. » Gandhi
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Attention : il semble y avoir une erreur au niveau des paramètres : Tu mets :
Code:CPPFLAGS="-DwxDEBUG_LEVEL=0 -Os -m32 gcc -E -D_M_IX86" Alors qu'en fait, la partie gcc -E -D_M_IX86 correspond au paramètre CPP (voir la ligne de commande utilisée pour compiler les libs wxWidgets).
Parce que là, en gros, tu dis à g++ d'appeler gcc, ce qui n'est pas très normal.
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
j3suscri3-kun (Membre)
Lieu: AUBAGNE
Inscrit le : 13-02-2012
Messages: 12
Snippets: 0
Tutoriels: 0
Hors ligne |
D'accord.
En omettant la partie "gcc -E -D_M_IX86" je n'ai plus d'erreur pour le 32 bits.
Mais pour la version 64, j'ai tente en remplacant
Code: mingw32-make -f makefile.gcc CPPFLAGS="-DwxDEBUG_LEVEL=0 -Os -m32" WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=31 WX_DIR=..\..\wxwidgets SHARED=1 SQLITE3_DIR=..\sqlite3
par
Code: mingw32-make -f makefile.gcc CPPFLAGS="-DwxDEBUG_LEVEL=0 -Os -m64" WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=31 WX_DIR=..\..\wxwidgets SHARED=1 SQLITE3_DIR=..\sqlite3
et j'ai un message m'expliquant que le mode 64 bits n'est pas gere mais je ne sais pas a quel niveau (du code ou du compilateur).
Code:../src/wxsqlite3.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in
|
« Vis comme si tu devais mourir demain... Apprends comme si tu devais vivre toujours. » Gandhi
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Tu as essayé en ajoutant, comme pour la compilation des libs wxWidgets, CPP="gcc -E -D_M_AMD64" à la ligne de commande ?
Autre chose à prendre en compte : les libs wxWidgets 32 et 64 bits ont normalement les mêmes noms : il faut donc que tu "protèges" le dossier contenant les libs 32 bits quand tu compiles les libs 64 bits pour qu'elles ne soient pas écrasées.
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
j3suscri3-kun (Membre)
Lieu: AUBAGNE
Inscrit le : 13-02-2012
Messages: 12
Snippets: 0
Tutoriels: 0
Hors ligne |
Bon, en rajoutant CPP="gcc -E -D_M_AMD64" a la ligne de commande, la compilation fonctionne mais j'ai des doutes car les dll en 32 et 64 bits font exactement la même taille. De même que les .a.
Je pense donc que le vrai paramètre est -m32 ou -m64.
Concernant la sauvegarde des diff3rentes versions, j'ai un gros batch qui gère tout cela. Une fois mes problèmes règles, je le diffuserai sur le forum pour que d'autres puissent en profiter.
Cordialement,
l'aventurier des compilations perdues...
Dernière modification par j3suscri3-kun (29-12-2013 23:52:51)
|
« Vis comme si tu devais mourir demain... Apprends comme si tu devais vivre toujours. » Gandhi
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Normalement, le "-m32" ou "-m64" est automatiquement passé par le compilateur (sauf dans le cas où tu compiles en 32 bits avec le compilateur 64 bits).
Donc, pour la version 64 bits, il n'est pas nécessaire de le spécifier.
Mais tu as raison d'avoir des doutes si tes dll ont la même taille, car pour ma part, ce n'est pas du tout le cas.
D'un autre côté, rien ne t'empêche d'ajouter le "-m32" ou "-m64" aux paramètres CPPFLAGS et CPP.
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
j3suscri3-kun (Membre)
Lieu: AUBAGNE
Inscrit le : 13-02-2012
Messages: 12
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonsoir,
Me revoilà après les fêtes de fin d'années.
Je vais faire le test avec une version 64 bits de MinGW trouvée sur sourceforge car précédemment, j'utilisais une version trouvée en téléchargement mais vraiment être sur de la compatibilité 64.
PS: La compilation a fonctionnée. Merci pour ton aide.
Je vais pouvoir commencer à essayer diverses choses.
Cordialement,
Dernière modification par j3suscri3-kun (13-01-2014 11:05:20)
|
« Vis comme si tu devais mourir demain... Apprends comme si tu devais vivre toujours. » Gandhi
|
|