wxWingets und MS Visual C++ 2008 Express Edition
-
Hab MinGW deinstalliert und wieder neu installiert. Bei der ersten Installation hatte ich "MinGW make" nicht ausgewählt, deswegen ging das wohl nicht.
Und jetzt habe ich
C:\wxWidgets-2.8.11\build\msw>mingw32-make -f makefile.gcc UNICODE=0 SHARED=0 MONOLITHIC=0 BUILD=release
eingegeben und der macht da was, schon 5 min.
Als ich das zum ersten mal installierte habe ich "Candidate" ausgewählt (hab das so auf einer Seite gelesen) und jetzt "Current". Für oder was ist Candidate?
-
So, hab wieder die gleiche Meldung http://www.netdun.de/wx.jpg nur mit Release, da ich ja nur die Release erstellt habe. Was muss ich wohin kopieren?
Hab von "C:\wxWidgets-2.8.11\lib\gcc_lib\msw\wx" die setup.h nach "C:\wxWidgets-2.8.11\include\wx" kopiert.
-
ghostboss schrieb:
So, hab wieder die gleiche Meldung http://www.netdun.de/wx.jpg nur mit Release, da ich ja nur die Release erstellt habe. Was muss ich wohin kopieren?
Hab von "C:\wxWidgets-2.8.11\lib\gcc_lib\msw\wx" die setup.h nach "C:\wxWidgets-2.8.11\include\wx" kopiert.
Das ist auch richtig so. Wenn du beim Projekt erstellen kein Debug-Target angibst, wird die Warnmeldung auch gar nicht kommen, jetzt lass es einfach dabei.
-
Nein nein. Bei mir kommt die Warnung nicht mit Debug sondern mit Release. Debug habe ich abgeschaltet (ich wollte nich noch ein Bild machen).
Muss ich vielleicht C::B auf die gcc_lib verweisen oder weiß er dass das da liegt?
-
ghostboss schrieb:
Nein nein. Bei mir kommt die Warnung nicht mit Debug sondern mit Release. Debug habe ich abgeschaltet (ich wollte nich noch ein Bild machen).
Hm... hast du die gleichen Optionen wie in deinem Screenshot angegeben? Du solltest nämlich deine Kompilieroptionen berücksichtigen (Häkchen weg bei Unicode, Monolithic und "Use wxWidgets DLL").
-
Ja wenn ich nichts auwähle, dann muss ich als nächstes die libraries auswählen (hab alle ausgewählt), also die Warnung kommt nicht mehr. Aber wenn ich das Projekt erstelle dann:
ld.exe||cannot find -lwxmsw28_dbgrid| ||=== Build finished: 1 errors, 0 warnings ===|
Hast du vielleicht ein klein Beispiel Code der funktioniert
-
ghostboss schrieb:
Ja wenn ich nichts auwähle, dann muss ich als nächstes die libraries auswählen (hab alle ausgewählt), also die Warnung kommt nicht mehr. Aber wenn ich das Projekt erstelle dann:
ld.exe||cannot find -lwxmsw28_dbgrid| ||=== Build finished: 1 errors, 0 warnings ===|
Hast du vielleicht ein klein Beispiel Code der funktioniert
Habe ich schon, aber ich glaube nicht, dass es daran liegt, das ist nämlich ein Linkerfehler, dieser findet eine Library nicht. Entweder, du hast den Buildvorgang unterbrochen oder die Library wurde nicht gebuildet oder dein Link-Pfad ist falsch (was ich nicht glaube). Probier mal, bei Project->Build Options->Linker Settings die Library rauszunehmen, du solltest sie vorerst nicht benötigen. Ansonsten könntest du es noch mit einem Monolithic-Build versuchen.
-
Link libraries weg:
obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxAppConsole::CheckBuildOptions(char const*, char const*)'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxApp::wxApp()'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxAppConsole::ms_appInstance'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxEntry(HINSTANCE__*, HINSTANCE__*, char*, int)'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxGetLocale()'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxStringBase::npos'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxStringBase::InitWith(char const*, unsigned int, unsigned int)'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxStringBase::npos'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxStringBase::InitWith(char const*, unsigned int, unsigned int)'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxIcon::wxIcon(wxString const&, long, int, int)'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxIcon::~wxIcon()'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxIcon::~wxIcon()'| obj\Release\wx2App.o:wx2App.cpp|| undefined reference to `wxAppConsole::ms_appInitFn'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV20wxThreadHelperThread[vtable for wxThreadHelperThread]+0xc)||undefined reference to `wxThread::TestDestroy()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x8)||undefined reference to `wxApp::GetClassInfo() const'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x14)||undefined reference to `wxObject::CreateRefData() const'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x18)||undefined reference to `wxObject::CloneRefData(wxObjectRefData const*) const'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x1c)||undefined reference to `wxEvtHandler::ProcessEvent(wxEvent&)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x20)||undefined reference to `wxEvtHandler::SearchEventTable(wxEventTable&, wxEvent&)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x28)||undefined reference to `wxEvtHandler::TryParent(wxEvent&)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x2c)||undefined reference to `wxApp::GetEventTable() const'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x30)||undefined reference to `wxApp::GetEventHashTable() const'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x34)||undefined reference to `wxEvtHandler::DoSetClientObject(wxClientData*)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x38)||undefined reference to `wxEvtHandler::DoGetClientObject() const'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x3c)||undefined reference to `wxEvtHandler::DoSetClientData(void*)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x40)||undefined reference to `wxEvtHandler::DoGetClientData() const'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x44)||undefined reference to `wxApp::Initialize(int&, char**)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x50)||undefined reference to `wxAppBase::OnInitGui()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x54)||undefined reference to `wxAppBase::OnRun()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x58)||undefined reference to `wxAppBase::OnExit()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x5c)||undefined reference to `wxApp::CleanUp()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x64)||undefined reference to `wxAppBase::Exit()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x68)||undefined reference to `wxAppBase::OnInitCmdLine(wxCmdLineParser&)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x6c)||undefined reference to `wxAppBase::OnCmdLineParsed(wxCmdLineParser&)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x70)||undefined reference to `wxAppConsole::OnCmdLineHelp(wxCmdLineParser&)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x74)||undefined reference to `wxAppConsole::OnCmdLineError(wxCmdLineParser&)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x78)||undefined reference to `wxAppConsole::FilterEvent(wxEvent&)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x7c)||undefined reference to `wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x84)||undefined reference to `wxAppConsole::ProcessPendingEvents()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x88)||undefined reference to `wxApp::Yield(bool)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x8c)||undefined reference to `wxApp::WakeUpIdle()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x90)||undefined reference to `wxAppBase::CreateTraits()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x94)||undefined reference to `wxAppBase::MainLoop()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x98)||undefined reference to `wxAppBase::ExitMainLoop()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0x9c)||undefined reference to `wxAppBase::Pending()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0xa0)||undefined reference to `wxAppBase::Dispatch()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0xa4)||undefined reference to `wxAppBase::ProcessIdle()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0xa8)||undefined reference to `wxAppBase::SendIdleEvents(wxWindow*, wxIdleEvent&)'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0xac)||undefined reference to `wxApp::OnExceptionInMainLoop()'| obj\Release\wx2App.o:wx2App.cpp:(.rdata$_ZTV6wx2App[vtable for wx2App]+0xb4)||undefined reference to `wxAppBase::GetTopWindow() const'| ||More errors follow but not being shown.| ||Edit the max errors limit in compiler options...| ||=== Build finished: 50 errors, 0 warnings ===|
Und was meinst du mit Monolithic-Build. Wenn ich in neuem Project da bei Monolithic mache da kriege ich wieder die Warnung mit dem Release.
-
Ich meinte, dass du nur die eine Library weglässt, die er nicht findet.
Wenn du Monolithic machen willst, musst du natürlich auch MONOLITHIC=1 kompilieren.
-
JOOO gute Nachricht konnte erstellen
.
Ich hab bei: Projekt > Build Options > Linker settings (oben links "Release") "libwxmsw28_dbgrid.a" (und nach 3 andere) rausgenommen.
Im Ordner "gcc_lib" konnte ich die Fehlenden auch nicht finden.Weißt du warum die nicht mit erstellt wurden? Jetzt muss ich die jedesmal rausnehmen?
-
Nein, leider weiß ich das auch nicht.
Alternativ kannst du auch wxWidgets 2.9 nehmen (noch nicht offiziell), da sind die EXE-Files aber größer.