Bonjour,
Tout d'abord je voudrais remercier à l'équipe qui à mis en place ce forum. Cela permet de apprendre à developper plus facilement.
Je debute avec la bibliotheque wxWidgets, et j'ai pris la décision de developper avec mingw et l'interface msys. Tout cela par soucis purement didactique (pour apprendre).
J'ai telechargé l'installeur pour windows de wxWidgets-2.8.6, msys et mingw sur le site de sourceforge:
Automated MINGW installer : MinGW-5.1.3.exe
MSYS : MSYS-1.0.10
wxWidgets : wxMSW-2.8.6-Setup.exe
J'ai installé avec les options par defaut d'abord MinGW, ensuite MSYS qui m'a demande le repertoire ou MinGW était installé, et finalement wxWidgets:
chose bizarre: l'installeur n'a pas crée la variable $WXWIN dans mon systeme.
à la fin de l'installation j'ai les repertoires suivants:
C:\MSYS
C:\MinGW
C:\wxWidgets-2.8.6
Ensuite j'ai compilé la bibliotheque wxWidgets avec .\configure, make, install, sans me preocuper des options de compilation, parce que je ne maitrise pas tout cela.
Me voici pret à tester la bibliotheque avec un programme que j'ai obtenu sur le site the wxwidgets codeblock
Le fichier header :
Le fichier cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #ifndef BASIC_H #define BASIC_H #include <wx/wx.h> class BasicApplication : public wxApp { public: virtual bool OnInit(); }; class BasicFrame : public wxFrame { public: BasicFrame(const wxChar *titile, int xpos, int ypos, int width, int height); ~BasicFrame(); }; #endif
J'ai rajouté quelques variables d'environnement dans: demarrer->poste de travail ->click droit->proprietes->avance->variables d'env...:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include "basic.h" using namespace std; IMPLEMENT_APP(BasicApplication) bool BasicApplication::OnInit() { BasicFrame *frame = new BasicFrame("Basic", 50, 50, 450, 300); frame->Show(TRUE); SetTopWindow(frame); return TRUE; } BasicFrame::BasicFrame(const wxChar *title, int xpos, int ypos, int width, int height): wxFrame((wxFrame *)NULL, -1, title, wxPoint(xpos, ypos), wxSize(width, height)) { } BasicFrame::~BasicFrame() { }
PATH: ... C:\wxWidgets-2.8.6
WXWIN: C:\wxWidgets-2.8.6
quand je tape $PATH dans la fenetre MSYS j'obtiens :
sh: .:/usr/local/bin:/mingw/bin:/bin:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/system32/WBEM:/c/Program : No such file or directory.
Bon je pense que ça marche quand même car quan je tape wx-config --libs j'obtiens:
-L/c/wxWidgets-2.8.6/lib -mthreads -Wl,--subsystem,windows -mwindows -lwx_msw_aui-2.8 -lwx_msw_xrc-2.8 -lwx_msw_qa-2.8 -lwx_msw_html-2.8 -lwx_msw_adv-2.8 -lwx_msw_core-2.8 -lwx_base_xml-2.8 _lwx_base_net-2.8 -lwx_base-2.8
et pour wx-config --cxxflags:
-I/c/wxWidgets-2.8.6/lib/wx/include/msw-ansi-release-2.8 -I/c/xwWidgets-2.8.6/include -I/c/wxWidgets-2.8.6/contrib/include -DWXUSINGDLL -D_WXMSW__ -mthreads
Ensuite sans creer un Makefile j'essaye de compiler le programme comme suit:
g++ -c basic.cpp -o basic.o -I"C:/wxWidgets-2.8.6/include" -I"C:/wxWidgets-2.8.6/lib/wx/include/msw-ansi-release-2.8" -L"C:/wxWidgets-2.8.6/lib"
PAS DES MESSAGES D'ERREUR
mais quand je passe a:
g++ basic.cpp -o basic.exe -I"C:/wxWidgets-2.8.6/include" -I"C:/wxWidgets-2.8.6/lib/wx/include/msw-ansi-release-2.8" -L"C:/wxWidgets-2.8.6/lib"
j'obtiens le message pleins de messages d'erreur: similaires à:
C:/DOCUME~1/MYNAME/LOCALS~1/Temp/cc6jaaaa.o:basic.cpp (.text+0x14c ): undefine reference to "wxAppConsole::CheckBuildOptions(char const*, char const*)'
.....
....
Merci de vos commentaires et pour votre aide![]()
Partager