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


|
Conversation (Résolue) : Erreur de compilation de WXSQLITE avec la v3 de WXWIDGETS |
j3suscri3-kun (Membre)
Lieu: AUBAGNE
Inscrit le : 13-02-2012
Messages: 12
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour,
je souhaite automatiser la récupération et la compilation des sources de WXWIDGETS ainsi que de WXSQLITE.
Pour ce faire, voici le descriptif de mon .bat (Sous Windows 7 x64):
Code: @ECHO OFF SET PATH=%PATH%;"C:\Program Files (x86)\CodeBlocks\MinGW\bin" SET SVN_WXWIDGETS=http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk SET LOCAL_DIRECTORY_WXWIDGETS=C:\Users\Romain\Desktop\CodeBlocks\codeblock\librairies\WXWIDGETS-SVN\ IF EXIST %LOCAL_DIRECTORY_WXWIDGETS% ( GOTO COMPIL_WXWIDGETS ) ELSE ( GOTO INSTALL_WXWIDGETS ) :INSTALL_WXWIDGETS rem Creation du repertoire des sources WXWIDGETS du SVN MKDIR %LOCAL_DIRECTORY_WXWIDGETS% rem Acces dans le repertoire des sources WXWIDGETS du SVN CD %LOCAL_DIRECTORY_WXWIDGETS% rem Recuperation des sources de WXWIDGETS svn checkout %SVN_WXWIDGETS% %LOCAL_DIRECTORY_WXWIDGETS% rem Lancer la compilation de WXWIDGETS GOTO COMPIL_WXWIDGETS :COMPIL_WXWIDGETS rem Acces dans le repertoire des sources WXWIDGETS du SVN CD %LOCAL_DIRECTORY_WXWIDGETS% rem Controle et recuperation de la derniere version des sources de WXWIDGETS disponible svn update rem Acces dans le repertoire des sources du makefile de WXWIDGETS CD %LOCAL_DIRECTORY_WXWIDGETS%build\msw\ rem Suppression des fichiers avant compilation des sources de WXWIDGETS mingw32-make -f makefile.gcc DEBUG_FLAG=0 BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 clean rem Compilation des sources de WXWIDGETS mingw32-make -f makefile.gcc DEBUG_FLAG=0 BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 SET SVN_WXSQLITE=https://wxcode.svn.sourceforge.net/svnroot/wxcode/trunk/wxCode/components/wxsqlite3 SET LOCAL_DIRECTORY_WXSQLITE=C:\Users\Romain\Desktop\CodeBlocks\codeblock\librairies\WXSQLITE-SVN\ IF EXIST %LOCAL_DIRECTORY_WXSQLITE% ( GOTO COMPIL_WXSQLITE ) ELSE ( GOTO INSTALL_WXSQLITE ) :INSTALL_WXSQLITE rem Creation du repertoire des sources WXSQLITE du SVN MKDIR %LOCAL_DIRECTORY_WXSQLITE% rem Acces dans le repertoire des sources WXSQLITE du SVN CD %LOCAL_DIRECTORY_WXSQLITE% rem Recuperation des sources de WXSQLITE svn checkout %SVN_WXSQLITE% %LOCAL_DIRECTORY_WXSQLITE% rem Lancer la compilation de WXSQLITE GOTO COMPIL_WXSQLITE :COMPIL_WXSQLITE rem Acces dans le repertoire des sources WXSQLITE du SVN CD %LOCAL_DIRECTORY_WXSQLITE% rem Controle et recuperation de la derniere version des sources de WXSQLITE disponible svn update rem Acces dans le repertoire des sources du makefile de WXSQLITE CD %LOCAL_DIRECTORY_WXSQLITE%build30\ rem Suppression des fichiers avant compilation des sources de WXSQLITE mingw32-make -f makefile.gcc WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=30 WX_DIR=..\..\..\wxWidgets-3.0.0 SHARED=1 SQLITE3_DIR=..\sqlite3 clean rem Compilation des sources de WXSQLITE mingw32-make -f makefile.gcc WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=30 WX_DIR=..\..\..\wxWidgets-3.0.0 SHARED=1 SQLITE3_DIR=..\sqlite3
Mais durant la compilation de WXSQLITE j'ai les erreurs de références ci dessous:
Code: gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x1214): undefined re ference to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x1290): undefined re ference to `wxOnAssert(char const*, int, char const*, char const*, char const*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x1296): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x12a6): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x12ac): undefined re ference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x1bb7): undefined re ference to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x1bec): undefined re ference to `wxOnAssert(char const*, int, char const*, char const*, char const*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x1bf2): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x1bfb): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x1c01): undefined re ference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x2964): undefined re ference to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x29a5): undefined re ference to `wxOnAssert(char const*, int, char const*, char const*, char const*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x29ab): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x2cde): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x2cec): undefined re ference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x32cb): undefined re ference to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x34f0): undefined re ference to `wxOnAssert(char const*, int, char const*, char const*, wchar_t const *)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x34f6): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x3503): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x3511): undefined re ference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x4847): undefined re ference to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x4880): undefined re ference to `wxOnAssert(char const*, int, char const*, char const*, char const*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x4886): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x488f): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x489d): undefined re ference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x93f0): undefined re ference to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x9470): undefined re ference to `wxOnAssert(char const*, int, char const*, char const*, char const*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x9476): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x947f): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x948d): undefined re ference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0xb3cc): undefined re ference to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0xb47c): undefined re ference to `wxOnAssert(char const*, int, char const*, char const*, char const*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0xb482): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0xb48b): undefined re ference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0xb499): undefined re ference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x14398): undefined r eference to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x143e7): undefined r eference to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x1449c): undefined r eference to `wxOnAssert(char const*, int, char const*, char const*, wchar_t cons t*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x144a2): undefined r eference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x144af): undefined r eference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x144bd): undefined r eference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x144f0): undefined r eference to `wxOnAssert(char const*, int, char const*, char const*, wchar_t cons t*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x144f6): undefined r eference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x14503): undefined r eference to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text+0x14511): undefined r eference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZN14wxMemoryBuffer10 AppendDataEPKvj[__ZN14wxMemoryBuffer10AppendDataEPKvj]+0x2e): undefined referenc e to `wxTheAssertHandler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZN14wxMemoryBuffer10 AppendDataEPKvj[__ZN14wxMemoryBuffer10AppendDataEPKvj]+0x9c): undefined referenc e to `wxOnAssert(char const*, int, char const*, char const*, char const*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZN14wxMemoryBuffer10 AppendDataEPKvj[__ZN14wxMemoryBuffer10AppendDataEPKvj]+0xa2): undefined referenc e to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZN14wxMemoryBuffer10 AppendDataEPKvj[__ZN14wxMemoryBuffer10AppendDataEPKvj]+0xab): undefined referenc e to `wxTrapInAssert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZN14wxMemoryBuffer10 AppendDataEPKvj[__ZN14wxMemoryBuffer10AppendDataEPKvj]+0xb1): undefined referenc e to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0xc): undefined reference to `wxTheAssertHa ndler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0x6d): undefined reference to `wxTheAssertH andler' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0xb7): undefined reference to `wxOnAssert(c har const*, int, char const*, char const*, wchar_t const*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0xbd): undefined reference to `wxTrapInAsse rt' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0xce): undefined reference to `wxTrapInAsse rt' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0xdc): undefined reference to `wxTrap()' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0x118): undefined reference to `wxOnAssert( char const*, int, char const*, char const*, wchar_t const*)' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0x11e): undefined reference to `wxTrapInAss ert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0x136): undefined reference to `wxTrapInAss ert' gccmswu_dll\wxsqlite3_dll_wxsqlite3.o:wxsqlite3.cpp:(.text$_ZNK10wxDateTime8GetT icksEv[__ZNK10wxDateTime8GetTicksEv]+0x140): undefined reference to `wxTrap()' collect2.exe: error: ld returned 1 exit status mingw32-make: *** [..\lib\gcc_dll\wxcode_msw30u_wxsqlite3.dll] Error 1
Si quelqu'un peu m'aiguiller sur le comment du pourquoi.
Merci.
Cordialement,
j3suscri3-kun
|
« 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.
Le problème vient du fait que tu utilises l'option "DEBUG_FLAG=0" lors de la compilation de wxWidgets.
Il faut l'utiliser aussi lors de la compilation de wxSQLite (ou alors le supprimer pour les libs wxWidgets).
@+ 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 |
Merci pour cette réponse rapide,.
J'ai essayé en définissant DEBUG_FLAG=0 mais rien ne change. Je ne comprend pas pourquoi je dois le définir alors qu'il n'est pas appelé dans le makefile.gcc de WXSQLITE...
Il y a quelque chose qui doit m'échapper.
Mais merci en tout cas, je vais continuer à chercher.
Dernière modification par j3suscri3-kun (24-12-2013 11:08:29)
|
« 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 |
En fait, le makefile de wxSQLite ne le prend pas en compte, mais comme tu l'as utilisé pour les libs, il le faut (car toute la partie "wxAssert" n'est pas présente dans les libs).
Essaye en passant cette option via "CPP_FLAGS".
Et si ça ne marche pas, essaye en remplaçant "DEBUG_FLAG=0" par "-DwxDEBUG_LEVEL=0" (toujours pour CPP_FLAGS)
@+ 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 |
Alors je répond pour les intéressés.
Avec CPP_FLAGS=DEBUG_FLAG=0, toujours les mêmes erreurs mais avec CPP_FLAGS=-DwxDEBUG_LEVEL=0 la compilation s'est déroulée avec succès.
Merci à toi.
Je communique mon fichier.bat au gens qui seraient intéressés par de l'automatisation avec un client SVN des dernières sources de WXWIDGETS et WXSQLITE en release sous forme d'une seule DLL.
Code: @ECHO OFF SET PATH=%PATH%;"C:\Program Files (x86)\CodeBlocks\MinGW\bin" SET SVN_WXWIDGETS=http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk SET LOCAL_DIRECTORY_WXWIDGETS=C:\Users\Romain\Desktop\CodeBlocks\codeblock\librairies\WXWIDGETS-SVN\ IF EXIST %LOCAL_DIRECTORY_WXWIDGETS% ( GOTO COMPIL_WXWIDGETS ) ELSE ( GOTO INSTALL_WXWIDGETS ) :INSTALL_WXWIDGETS rem Creation du repertoire des sources WXWIDGETS du SVN MKDIR %LOCAL_DIRECTORY_WXWIDGETS% rem Acces dans le repertoire des sources WXWIDGETS du SVN CD %LOCAL_DIRECTORY_WXWIDGETS% rem Recuperation des sources de WXWIDGETS svn checkout %SVN_WXWIDGETS% %LOCAL_DIRECTORY_WXWIDGETS% rem Lancer la compilation de WXWIDGETS GOTO COMPIL_WXWIDGETS :COMPIL_WXWIDGETS rem Acces dans le repertoire des sources WXWIDGETS du SVN CD %LOCAL_DIRECTORY_WXWIDGETS% rem Controle et recuperation de la derniere version des sources de WXWIDGETS disponible svn update rem Acces dans le repertoire des sources du makefile de WXWIDGETS CD %LOCAL_DIRECTORY_WXWIDGETS%build\msw\ rem Suppression des fichiers avant compilation des sources de WXWIDGETS mingw32-make -f makefile.gcc DEBUG_FLAG=0 BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 clean rem Compilation des sources de WXWIDGETS mingw32-make -f makefile.gcc DEBUG_FLAG=0 BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 SET SVN_WXSQLITE=https://wxcode.svn.sourceforge.net/svnroot/wxcode/trunk/wxCode/components/wxsqlite3 SET LOCAL_DIRECTORY_WXSQLITE=C:\Users\Romain\Desktop\CodeBlocks\codeblock\librairies\WXSQLITE-SVN\ IF EXIST %LOCAL_DIRECTORY_WXSQLITE% ( GOTO COMPIL_WXSQLITE ) ELSE ( GOTO INSTALL_WXSQLITE ) :INSTALL_WXSQLITE rem Creation du repertoire des sources WXSQLITE du SVN MKDIR %LOCAL_DIRECTORY_WXSQLITE% rem Acces dans le repertoire des sources WXSQLITE du SVN CD %LOCAL_DIRECTORY_WXSQLITE% rem Recuperation des sources de WXSQLITE svn checkout %SVN_WXSQLITE% %LOCAL_DIRECTORY_WXSQLITE% rem Lancer la compilation de WXSQLITE GOTO COMPIL_WXSQLITE :COMPIL_WXSQLITE rem Acces dans le repertoire des sources WXSQLITE du SVN CD %LOCAL_DIRECTORY_WXSQLITE% rem Controle et recuperation de la derniere version des sources de WXSQLITE disponible svn update rem Acces dans le repertoire des sources du makefile de WXSQLITE CD %LOCAL_DIRECTORY_WXSQLITE%build30\ rem Suppression des fichiers avant compilation des sources de WXSQLITE mingw32-make -f makefile.gcc CPPFLAGS=-DwxDEBUG_LEVEL=0 WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=30 WX_DIR=..\..\..\wxWidgets-3.0.0 SHARED=1 SQLITE3_DIR=..\sqlite3 clean rem Compilation des sources de WXSQLITE mingw32-make -f makefile.gcc CPPFLAGS=-DwxDEBUG_LEVEL=0 WX_SHARED=1 WX_DEBUG=0 WX_MONOLITHIC=1 WX_VERSION=30 WX_DIR=..\..\..\wxWidgets-3.0.0 SHARED=1 SQLITE3_DIR=..\sqlite3
|
« Vis comme si tu devais mourir demain... Apprends comme si tu devais vivre toujours. » Gandhi
|
|