Soft utilisant wxWindow...

Soft utilisant wxWindow... - C++ - Programmation

Marsh Posté le 18-06-2003 à 09:11:20    

Salut,
 
J'essaie de faire un soft utilisant wxWindow (interface graphique multi-plateforme). Je code sous windows en utilisant mingw. Mais j'ai un problème, même avec les exemples, qd j'essaie de compiler, ça me sort une centaine d'erreurs, qui commencent comme ça :  

Code :
  1. gcc --pipe -c -D_X86_=1 -DWIN32 -D_WIN32 -DWINVER=0x0400 -D__WIN95__ -D__GNUWIN32__ -D__WIN32__ -DSTRICT -D__WINDOWS__ -Wall -fno-pcc-struct-return -O2 -fno-rtti -fno-exceptions -Ires/ -Isrc/ -c src/test.cpp -o obj/test.o
  2. In file included from c:/mingw/include/wx/gdicmn.h:29,
  3.                  from c:/mingw/include/wx/event.h:23,
  4.                  from c:/mingw/include/wx/wx.h:23,
  5.                  from src/test.cpp:1:
  6. c:/mingw/include/wx/font.h:77: parse error before `{' token
  7. c:/mingw/include/wx/font.h:90: non-member function `bool Ok()' cannot have `
  8.    const' method qualifier
  9. c:/mingw/include/wx/font.h: In function `bool Ok()':
  10. c:/mingw/include/wx/font.h:90: `m_refData' undeclared (first use this function)
  11. c:/mingw/include/wx/font.h:90: (Each undeclared identifier is reported only
  12.    once for each function it appears in.)
  13. c:/mingw/include/wx/font.h: At global scope:


 
Help plz !!!!
 
PS : au fait, si qq'un avait un lien vers un bon tutorial pour wxWindow, ça serait très cool, j'en ai pas trouvé de bon :(

Reply

Marsh Posté le 18-06-2003 à 09:11:20   

Reply

Marsh Posté le 18-06-2003 à 09:52:20    

snif personne connait ?  
 
pour les tutoriels, j'en ai trouvé des plus complets, ça devrait aller, mais j'ai toujours les erreurs :(

Reply

Marsh Posté le 18-06-2003 à 10:09:46    

Citation :

PS : au fait, si qq'un avait un lien vers un bon tutorial pour wxWindow, ça serait très cool, j'en ai pas trouvé de bon :(


 
C'est le défaut de cette lib. Elle manque de documentation. Elle est elle-même pas mal documentée, mais sorti de là ... j'ai dû souvent me plonger dans les exemples (heureusement nombreux) fournis, quand il n'a pas fallu étudier les header des classes pour trouver ce que l'on cherche.
 
Pour ton problème, je sais pas. Moi j'utilise VC++ et ça marche.
J'ai plus tous les include / define en tête, donc je peux pas t'aider.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 18-06-2003 à 10:16:40    

oki tant pis merci qd mm :) v peut etre me résoudre à utiliser visual :(

Reply

Marsh Posté le 18-06-2003 à 11:15:44    

Bon j'ai installé visual c++, mais c pas mieux, j'ai toujours des erreurs :( :

Code :
  1. --------------------Configuration: wxwin - Win32 Debug--------------------
  2. Compiling...
  3. wxwin.cpp
  4. Linking...
  5. wxwin.obj : error LNK2001: unresolved external symbol "public: static bool __cdecl wxAppBase::CheckBuildOptions(class wxBuildOptions const & )" (?CheckBuildOptions@wxAppBase@@SA_NABVwxBuildOptions@@@Z)
  6. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxApp::ProcessMessage(void * *)" (?ProcessMessage@wxApp@@UAE_NPAPAX@Z)
  7. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall wxApp::DoMessage(void * *)" (?DoMessage@wxApp@@UAEXPAPAX@Z)
  8. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxApp::DoMessage(void)" (?DoMessage@wxApp@@UAE_NXZ)
  9. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall wxAppBase::ProcessPendingEvents(void)" (?ProcessPendingEvents@wxAppBase@@UAEXXZ)
  10. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall wxAppBase::OnAssert(char const *,int,char const *,char const *)" (?OnAssert@wxAppBase@@UAEXPBDH00@Z)
  11. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall wxAppBase::FilterEvent(class wxEvent & )" (?FilterEvent@wxAppBase@@UAEHAAVwxEvent@@@Z)
  12. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall wxAppBase::SetActive(bool,class wxWindow *)" (?SetActive@wxAppBase@@UAEX_NPAVwxWindow@@@Z)
  13. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual class wxMessageOutput * __thiscall wxAppBase::CreateMessageOutput(void)" (?CreateMessageOutput@wxAppBase@@UAEPAVwxMessageOutput@@XZ)
  14. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual class wxLog * __thiscall wxAppBase::CreateLogTarget(void)" (?CreateLogTarget@wxAppBase@@UAEPAVwxLog@@XZ)
  15. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxAppBase::OnCmdLineError(class wxCmdLineParser & )" (?OnCmdLineError@wxAppBase@@UAE_NAAVwxCmdLineParser@@@Z)
  16. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxAppBase::OnCmdLineHelp(class wxCmdLineParser & )" (?OnCmdLineHelp@wxAppBase@@UAE_NAAVwxCmdLineParser@@@Z)
  17. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxAppBase::OnCmdLineParsed(class wxCmdLineParser & )" (?OnCmdLineParsed@wxAppBase@@UAE_NAAVwxCmdLineParser@@@Z)
  18. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall wxAppBase::OnInitCmdLine(class wxCmdLineParser & )" (?OnInitCmdLine@wxAppBase@@UAEXAAVwxCmdLineParser@@@Z)
  19. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxApp::ProcessIdle(void)" (?ProcessIdle@wxApp@@UAE_NXZ)
  20. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxApp::Yield(bool)" (?Yield@wxApp@@UAE_N_N@Z)
  21. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall wxApp::Dispatch(void)" (?Dispatch@wxApp@@UAEXXZ)
  22. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxApp::Pending(void)" (?Pending@wxApp@@UAE_NXZ)
  23. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxApp::Initialized(void)" (?Initialized@wxApp@@UAE_NXZ)
  24. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall wxApp::ExitMainLoop(void)" (?ExitMainLoop@wxApp@@UAEXXZ)
  25. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall wxApp::MainLoop(void)" (?MainLoop@wxApp@@UAEHXZ)
  26. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall wxAppBase::OnExit(void)" (?OnExit@wxAppBase@@UAEHXZ)
  27. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall wxAppBase::OnRun(void)" (?OnRun@wxAppBase@@UAEHXZ)
  28. wxwin.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxAppBase::OnInitGui(void)" (?OnInitGui@wxAppBase@@UAE_NXZ)


etc etc y'en a 183 comme ça... (sur un prog de 10 lignes, j'avais jamais réussi :) )
 
help plz !! il me semble avoir fait tout ce qu'ils disent ds la doc !
 
mici  :jap:

Reply

Marsh Posté le 18-06-2003 à 14:27:28    

snif, bon ça compile maintenant, mais j'ai des erreurs de link :(
je suis sûr d'avoir mis toutes les lib marquées ds les docs, je les ai mm recompilées au cas où..........
 
HEEEELP
mici :jap:

Reply

Marsh Posté le 18-06-2003 à 15:05:10    

Comment tu fais l'ajout des lib ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 18-06-2003 à 15:20:23    

dans le tab link des project settings, comme d'habitude ds Visual. C pas ça ? Pitié dis moi que c pas ça, qu'il y a une autre méthode :)

Reply

Marsh Posté le 18-06-2003 à 15:52:28    

pilou51 a écrit :

dans le tab link des project settings, comme d'habitude ds Visual. C pas ça ? Pitié dis moi que c pas ça, qu'il y a une autre méthode :)


Tu as ajouté directement ton .lib au projet, aussi?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 18-06-2003 à 16:05:48    

comment ça ? en plus des project settings ? de quelle manière stp ?

Reply

Marsh Posté le 18-06-2003 à 16:05:48   

Reply

Marsh Posté le 18-06-2003 à 16:07:40    

pilou51 a écrit :

comment ça ? en plus des project settings ? de quelle manière stp ?


Project->add to project->files


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 18-06-2003 à 16:10:50    

ça me fait autant d'erreurs (236 et 11 warning qd mm  :pt1cable: ) :(

Reply

Marsh Posté le 18-06-2003 à 16:11:41    

pilou51 a écrit :

ça me fait autant d'erreurs (236 et 11 warning qd mm  :pt1cable: ) :(


tjrs les mêmes qu'au-dessus?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 18-06-2003 à 16:18:53    

oui exactement... je te poste le code et le début des erreurs, si ça peut aider... :  
fichier .h

Code :
  1. #ifndef BASIC_H
  2. #define BASIC_H
  3. class BasicApplication : public wxApp
  4. {
  5.   public:
  6. virtual bool OnInit();
  7. };
  8. class BasicFrame : public wxFrame
  9. {
  10.   public:
  11. BasicFrame( const wxChar *title,
  12.                 int xpos, int ypos,
  13.                 int width, int height);
  14. ~BasicFrame();
  15. };
  16. #endif


et le fichier .cpp :  

Code :
  1. #include <wx/wx.h>
  2. #include "wxwin.h"
  3. IMPLEMENT_APP(BasicApplication)
  4. bool BasicApplication::OnInit()
  5. {
  6.   BasicFrame
  7.    *frame = new BasicFrame("Basic", 50, 50, 450, 300);
  8.   frame->Show(TRUE);
  9.   SetTopWindow(frame);
  10.   return TRUE;
  11. }
  12. BasicFrame::BasicFrame
  13.              (const wxChar *title,
  14.                     int xpos, int ypos,
  15.                     int width, int height)
  16.              : wxFrame
  17.                 ( (wxFrame *) NULL,
  18.                    -1,
  19.                    title,
  20.                    wxPoint(xpos, ypos),
  21.                    wxSize(width, height)
  22.                 )
  23. {
  24. }
  25. BasicFrame::~BasicFrame()
  26. {
  27. }


 
et le début des erreurs :  

Code :
  1. --------------------Configuration: wxwin - Win32 Debug--------------------
  2. Compiling...
  3. wxwin.cpp
  4. Linking...
  5. LINK : warning LNK4049: locally defined symbol "_free" imported
  6. LINK : warning LNK4049: locally defined symbol "_exit" imported
  7. LINK : warning LNK4049: locally defined symbol "_strncpy" imported
  8. LINK : warning LNK4049: locally defined symbol "_malloc" imported
  9. LINK : warning LNK4049: locally defined symbol "_realloc" imported
  10. LINK : warning LNK4049: locally defined symbol "_tolower" imported
  11. LINK : warning LNK4049: locally defined symbol "_memmove" imported
  12. LINK : warning LNK4049: locally defined symbol "_abort" imported
  13. LINK : warning LNK4049: locally defined symbol "__pctype" imported
  14. LINK : warning LNK4049: locally defined symbol "__isctype" imported
  15. LINK : warning LNK4049: locally defined symbol "___mb_cur_max" imported
  16. wxd.lib(app.obj) : error LNK2001: unresolved external symbol __imp__InitCommonControls@0
  17. wxd.lib(fileconf.obj) : error LNK2001: unresolved external symbol __imp__isspace
  18. wxd.lib(app.obj) : error LNK2001: unresolved external symbol __imp__isspace
  19. wxd.lib(string.obj) : error LNK2001: unresolved external symbol __imp__isspace
  20. wxd.lib(datetime.obj) : error LNK2001: unresolved external symbol __imp__isspace
  21. wxd.lib(tokenzr.obj) : error LNK2001: unresolved external symbol __imp__isspace
  22. wxd.lib(scan.obj) : error LNK2001: unresolved external symbol __imp__sprintf
  23. wxd.lib(wxexpr.obj) : error LNK2001: unresolved external symbol __imp__sprintf
  24. wxd.lib(rdftoi.obj) : error LNK2001: unresolved external symbol __imp__sprintf
  25. wxd.lib(wrffri.obj) : error LNK2001: unresolved external symbol __imp__sprintf
  26. wxd.lib(dataobj.obj) : error LNK2001: unresolved external symbol __imp__sprintf
  27. wxd.lib(window.obj) : error LNK2001: unresolved external symbol __imp__sprintf
  28. wxd.lib(utilscmn.obj) : error LNK2001: unresolved external symbol __imp__sprintf
  29. wxd.lib(utils.obj) : error LNK2001: unresolved external symbol __imp__sprintf
  30. wxd.lib(slider95.obj) : error LNK2001: unresolved external symbol __imp__sprintf


 
Merci bcp :jap:

Reply

Marsh Posté le 18-06-2003 à 17:01:44    

:bounce: c si mal barré que ça ? :cry:

Reply

Marsh Posté le 20-06-2003 à 13:01:44    

T'as ajouté quelles lib ?
Et c'est toi qui les as compilé ?
Voilà mes definitions dans mon projet (release) :
 

Code :
  1. NDEBUG
  2. WIN32
  3. _WINDOWS
  4. __WINDOWS__
  5. __WXMSW__
  6. __WIN95__
  7. __WIN32__
  8. WINVER 0x0500


 
lib :

Code :
  1. odbc32.lib
  2. odbccp32.lib
  3. comctl32.lib
  4. rpcrt4.lib
  5. wsock32.lib
  6. winmm.lib
  7. wx.lib
  8. xpm.lib
  9. png.lib
  10. zlib.lib
  11. jpeg.lib
  12. tiff.lib

 
 
lig ignorées :

Code :
  1. libc.lib
  2. libci.lib


 
je crois que c'est le __WXMSW__ qui est important.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed