wxWindows im BCB
-
@gerd01:
So, die Mail müßte unterwegs sein. Könntest du dann mal berichten, ob sich der erstellte Code fehlerfrei kompilieren läßt und das Fenster auch ungefähr so aussieht, wie es sollte?
Danke!
-
ok, ich gebe zu ich habe da nicht sooooo die erfahrung, wie kann man diesen denn nun kompilieren?
ich nutze den bcb 5 standard.
eine frage zum code:
#ifdef __GNUG__ #pragma implementation "myApp.cpp" #endif // For compilers that support precompilation #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif #if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) #include "mondrian.xpm" #endif // Include private headers #include "myApp.h" //------------------------------------------------------------------------------ // wxForm //------------------------------------------------------------------------------ BEGIN_EVENT_TABLE(wxForm,wxFrame) EVT_MENU(ID_QUIT, wxForm::OnQuit) EVT_CLOSE(wxForm::OnCloseWindow) END_EVENT_TABLE() wxForm::wxForm( wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style ) : wxFrame( parent, id, title, position, size, style) { SetIcon(wxICON(mondrian)); SetBackgroundColour(wxColour(212,208,200)); //clBtnFace wxButton0=new wxButton(this,ID_WXBUTTON0,"wxButton0",wxPoint(111,54),wxSize(75,25)); wxButton1=new wxButton(this,ID_WXBUTTON1,"wxButton1",wxPoint(366,242),wxSize(75,25)); wxCheckBox0=new wxCheckBox(this,ID_WXCHECKBOX0,"wxCheckBox0",wxPoint(285,99),wxSize(97,17)); } void wxForm::OnQuit( wxCommandEvent &event ) { Close(true); } void wxForm::OnCloseWindow( wxCloseEvent &event ) { Destroy(); } //------------------------------------------------------------------------------ // MyApp //------------------------------------------------------------------------------ IMPLEMENT_APP(MyApp) MyApp::MyApp() { } bool MyApp::OnInit() { SetAppName("wxForm"); wxForm *frame = new wxForm( NULL,-1, "wxForm",wxPoint(220,120), wxSize(768,537)); frame->Show( TRUE ); return TRUE; } int MyApp::OnExit() { return 0; }
du deklarierst oben z.B.
wxButton0=new wxButton(....);
woher weiss der kompiler, das wxButton0 ein int pointer sein muss?
vielleicht ist die antwort so simpel, wie der code?!gruß gerd
-
Es werden immer 2 Dateien erstellt und in der myapp.h wird dann wxButton* wxButton0 stehen.
-
gerd01 schrieb:
ok, ich gebe zu ich habe da nicht sooooo die erfahrung, wie kann man diesen denn nun kompilieren?
Eine Möglichkeit wäre es, mit Makefiles zu arbeiten:
makefile.b32
WXDIR = $(WXWIN) TARGET=myApp OBJECTS = $(TARGET).obj !include $(WXDIR)\src\makeprog.b32
und dann in der Konsole:
make -f makefile.b32(Der Link zur Anleitung, wie man die Pfade setzt, wxWindows kompilert usw steht weiter oben)
-
Hi,
irgend was mache ich noch falsch!
Beim make -f makefile.b32 in %WXWIN%/scr/msw kommen folgende Fehlermeldungen:MAKE Version 5.2 Copyright (c) 1987, 1999 Inprise Corp. mkdir E:\wxWin\lib\msw Falsche MS-DOS-Version mkdir E:\wxWin\lib\msw\wx Falsche MS-DOS-Version del E:\wxWin\src\msw\wxw32d.cfg Falsche MS-DOS-Version cd E:\wxWin\include\wx\msw if not exist setup.h copy setup0.h setup.h Falsche MS-DOS-Version cd E:\wxWin\src\msw copy E:\wxWin\include\wx\msw\setup.h E:\wxWin\lib\msw\wx\setup.h Falsche MS-DOS-Version cd E:\wxWin\src\msw copy MAKE0001.@@@ E:\wxWin\src\msw\wxw32d.cfg Falsche MS-DOS-Version bcc32 @E:\wxWin\src\msw\wxw32d.cfg -c dummy.cpp Borland C++ 5.4 für Win32 Copyright (c) 1993, 1999 Inprise Corporation Fehler E2194: Datei 'E:\wxWin\src\msw\wxw32d.cfg' nicht gefunden
Was kann ich dagegen tun!
MfG
Alexander Sulfrian
PS: Mein OS ist WinXP!
-
Hmm, bist du genau nach der Anleitung vorgegangen?
Welche Version von wx?
Kann es sein, daß WinXP die Pfade wieder "vergessen" hat?
(also entweder autoexec.bat noch einmal ausführen oder die Pfade in die Path-Variable einfügen...)
-
Hi,
Version: 2.4.2
Genau nach Anleitung gemach!
Hab wx auf E:\wxwin\ installiert! Ist das normal, dass man auch die include pfade des bcc32 anpassen muss? Hab ich nämlich gemacht!Dieses "Falsche MS-DOS-Version" macht mich stutzig!
MfG
Alexander Sulfrian
-
Eigentlich müßte doch dieses set bccdir c:\programme\cbuilder5 reichen.
Und Spaces sind auch nicht im Pfadnamen?
Hab auch wxWindows 2.4.2 unter XP installiert und da sind diese Fehler nicht aufgetreten...
Sehr seltsam, besonders das mit der falschen DOS-Version.
-
Hilft dir http://www.pc-special.de/?idart=376 ?
-
Hi,
jetzt kommt ein anderer komischer Fehler:E:\wxWin\src\msw>make -f makefile.b32 MAKE Version 5.2 Copyright (c) 1987, 1999 Inprise Corp. mkdir E:\wxWin\lib\msw Fatal: Unable to execute command: mkdir E:\wxWin\src\msw>
???
Ich hab übrigens BCB4 (E:\Borland\CBuilder4\Bin) !
MfG
Alexander Sulfrian
-
Daran wird es wahrscheinlich nicht liegen, aber muß der Pfad nicht nur E:\Borland\CBuilder4 heißen?
-
hi,
ja meinte ich doch!
ich hab in autoexec.bat das hier stehen:set bccdir=E:\BORLAND\CBUILD~1
MfG
Alexander Sulfrian
-
Und set wxwin=E:\wxWin\ ? Hast du nicht noch vielleicht einen anderen Rechner zum testen da?
-
Hi,
ja hab ich auch, so: set WXWIN=E:\wxWinIch könnt mal unter WinME probieren! Weiß aber nicht ob ich da meinen BCB installiert habe!
MfG
Alexander Sulfrian
-
Hi,
also auf XP funktioniert es jetzt auch! Er hatt immer die cmd von ME gestartet! Irgendwie schient %systempath% falsch gesetzt zu sein! Jetzt mit der cmd von XP funktionert es! Jedenfalls die lib!Wenn ich jetzt die samples compilieren will, kommt folgende Meldung:
E:\wxWin\samples\controls>make -f makefile.b32 MAKE Version 5.2 Copyright (c) 1987, 1999 Inprise Corp. ilink32 /v /c /aa -L"E:\wxWin\lib;E:\wxWin\contrib\lib;E:\BORLAND\CBUILD ~1\BIN\..\lib;E:\BORLAND\CBUILD~1\BIN\..\lib\psdk" @MAKE0000.@@@ Turbo Incremental Link 4.00 Copyright (c) 1997, 1999 Inprise Corporation Fatal: Error detected (LME272) Fatal: Error detected (LME340) Warning: Failed to create state file E:/wxWin/samples/controls/controls.ils (err or code 0) Warning: Unable to perform incremental link - performing full link... Fatal: Error detected (LME272) Fatal: Error detected (LME340) Warning: Failed to create state file E:/wxWin/samples/controls/controls.ils (err or code 0) ** error 2 ** deleting controls.exe
Weiß einer weite?
Danke
Alexander Sulfrian
-
Hi,
jetzt kommt es noch besser:UNTER WINDOWS ME FUNKTIONIERT ALLES!!!!!
Aber ich will nicht immer WinMe starten um programme zu erstellen! Also wie bekomme ich das unter win XP hin? Hat jemand Erfahrung?
MfG
Alexander Sulfrian
-
Hi,
hat denn keiner eine Idee was ich da machen kann?MfG
Alexander Sulfrian
-
Ji,
ich hab's jetzt!Ich hab's mit der Kombination des BCB4 Komandozeilencompiler und dem Linker aus dem Freewarepaket von Borland hinbekommen! Jetzt geht alles problemlos!
MfG
Alexander Sulfrian