wxWidgets und Code::Blocks
-
Moin!
Ich versuch jetzt schon seit einiger Zeit wxWidgets-2.6.2 mit dem MinGW-Compiler unter Windows XP in Code::Blocks einzurichten.wxWidgets habe ich wie hier beschrieben kompiliert:
http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.6.2_to_develop_Code::Blocks_%28MSW%29Unter "Project->Build options->Custom variables" habe ich WX_DIR auf mein wxWidgets-Verzeichnis geändert.
Wenn ich nun die wxWidgets-Vorlage von Code::Blocks kompieliere bekomme ich ca. 50 Fehlermeldungen. Alle in der Form wie diese:
.objs\main.o:main.cpp:(.text$_ZN8wxObjectC2Ev[wxObject::wxObject()]+0x8): undefined reference to\_imp___ZTV8wxObject' oder: D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_filename.o):filename.cpp:(.text+0x1805): undefined reference toCoCreateInstance@20'Woran liegt das?
Danke für eure Hilfe
-
Du musst noch verschiedene Windowslibs hinzulinken, (shell32, comctl32, uuid, ole32, comdlg32 z.B.).
-
Danke für die Antwort.
Leider wurde das Problem dadurch aber nicht gelöst.
Ich habe folgende Libs gelinkt:winmm.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
-
hm, die wxLibs hast du auch gelinkt?
Ansonsten, was für symbole findet er denn nicht?
Evtl. mal bei google nach der Fehlermeldung suchen...
-
Danke, bin leider aber immer noch nicht weiter gekommen.
Eigentlich sollte es reichen die wxmsw26.a zu linken.
Bei google hab ich nichs passendes gefunden.Ich könnte jetzt natürlich radikal die ganzen Errors posten, aber damit wäre wohl keinem geholfen.
Werde es mal mit dem wxPack versuchen.
-
Wenn du die Libs schon hast, nützt dir wxPack für C::B nicht viel.
Also du musst aufjedenfall die wxbase2.x und die wxmsw_core2.x dazu linken.
-
Ich hab jetzt libwxbase26.a und libwxmsew26_core.a hinzugelinkt.
Die Fehler bestehen aber weiter.Das mit dem wxPack wollte ich mal ausprobieren, weil ich dachte das der Fehler vielleicht doch beim kompilieren lag. Aber du hast natürlich recht.
-
Ich weis nicht ob es was bringt, aber hier die Linkerrors (schaden kann es ja nicht):
Switching to target: default
Precompiling header: wx_pch.h
Compiling: main.cpp
Compiling: app.cpp
Linking executable: D:\Entwicklung\CodeDev-Studio\Main\CodeDev.exe
D:\wx\wx\lib\libwxbase26.a(d000680.o):: multiple definition ofwxAppConsole::CheckBuildOptions(char const*, char const*)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_appbase.o):appbase.cpp:(.text+0xcf0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d001009.o):: multiple definition ofwxStringBase::InitWith(char const*, unsigned int, unsigned int)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_string.o):string.cpp:(.text+0xaa0): first defined here
D:\wx\wx\lib\libwxbase26.a(d002105.o):: multiple definition ofwxBaseArrayPtrVoid::~wxBaseArrayPtrVoid()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_dynarray.o):dynarray.cpp:(.text+0x490): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d002103.o):: multiple definition ofwxBaseArrayPtrVoid::wxBaseArrayPtrVoid()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_dynarray.o):dynarray.cpp:(.text+0x1e0): first defined here
D:\wx\wx\lib\libwxbase26.a(d000807.o):: multiple definition ofwxEvtHandler::wxEvtHandler()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_event.o):event.cpp:(.text+0x22f0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d000810.o):: multiple definition ofwxEvtHandler::~wxEvtHandler()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_event.o):event.cpp:(.text+0x2400): first defined here
D:\wx\wx\lib\libwxbase26.a(d000421.o):: multiple definition ofwxListBase::~wxListBase()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_list.o):list.cpp:(.text+0x5d0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d000399.o):: multiple definition ofwxListBase::Init(wxKeyType)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_list.o):list.cpp:(.text+0x0): first defined here
D:\wx\wx\lib\libwxbase26.a(d003028.o):: multiple definition ofwxObject::UnRef()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_object.o):object.cpp:(.text+0x0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d001642.o):: multiple definition ofwxEventHashTable::wxEventHashTable(wxEventTable const&)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_event.o):event.cpp:(.text+0x20c0): first defined here
D:\wx\wx\lib\libwxbase26.a(d001644.o):: multiple definition ofwxEventHashTable::~wxEventHashTable()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_event.o):event.cpp:(.text+0x1b90): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d003340.o):: multiple definition ofwxListBase::Find(wxListKey const&) const'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_list.o):list.cpp:(.text+0x280): first defined here
D:\wx\wx\lib\libwxbase26.a(d000436.o):: multiple definition ofwxNodeBase::wxNodeBase(wxListBase*, wxNodeBase*, wxNodeBase*, void*, wxListKey const&)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_list.o):list.cpp:(.text+0xd0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d003027.o):: multiple definition ofwxObject::Ref(wxObject const&)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_object.o):object.cpp:(.text+0x3f0): first defined here
D:\wx\wx\lib\libwxbase26.a(d001015.o):: multiple definition ofwxStringBase::operator=(wxStringBase const&)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_string.o):string.cpp:(.text+0x0): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d005685.o):: multiple definition ofwxApp::wxApp()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_app.o):app.cpp:(.text+0xa20): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d000092.o):: multiple definition ofwxEntry(HINSTANCE\_\_*, HINSTANCE__*, char*, int)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_main.o):main.cpp:(.text+0x30): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d006765.o):: multiple definition ofwxMenuBar::wxMenuBar()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_menu.o):menu.cpp:(.text+0xfd0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d005962.o):: multiple definition ofwxFrame::~wxFrame()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_frame.o):frame.cpp:(.text+0x260): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d002842.o):: multiple definition ofwxMenuItemBase::New(wxMenu*, int, wxString const&, wxString const&, wxItemKind, wxMenu*)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_menuitem.o):menuitem.cpp:(.text+0x2b0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d005808.o):: multiple definition ofwxMenu::Init()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_menu.o):menu.cpp:(.text+0x350): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d000458.o):: multiple definition ofwxMenuBase::~wxMenuBase()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_menucmn.o):menucmn.cpp:(.text+0x170): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d000417.o):: multiple definition ofwxMenuBase::Init(long)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_menucmn.o):menucmn.cpp:(.text+0x0): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d001051.o):: multiple definition ofwxFrameBase::wxFrameBase()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_framecmn.o):framecmn.cpp:(.text+0x80): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d005953.o):: multiple definition ofwxFrame::Init()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_frame.o):frame.cpp:(.text+0x0): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d005955.o):: multiple definition ofwxFrame::Create(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_frame.o):frame.cpp:(.text+0x110): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d001054.o):: multiple definition ofwxFrameBase::~wxFrameBase()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_framecmn.o):framecmn.cpp:(.text+0x20): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d002134.o):: multiple definition ofwxWindowBase::Close(bool)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_wincmn.o):wincmn.cpp:(.text+0xff0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d000007.o):: multiple definition ofwxMessageBox(wxString const&, wxString const&, long, wxWindow*, int, int)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_utilscmn.o):utilscmn.cpp:(.text+0x2b00): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d002164.o):: multiple definition ofwxWindowBase::FindFocus()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_wincmn.o):wincmn.cpp:(.text+0x7830): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d000063.o):: multiple definition ofwxGetTopLevelParent(wxWindow*)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_wincmn.o):wincmn.cpp:(.text+0x140): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d002125.o):: multiple definition ofwxWindowBase::GetClassDefaultAttributes(wxWindowVariant)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_wincmn.o):wincmn.cpp:(.text+0x1be0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d002001.o):: multiple definition ofwxWindowBase::GetCapture()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_window.o):window.cpp:(.text+0xee0): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d008424.o):: multiple definition ofwxAcceleratorTable::operator==(wxAcceleratorTable const&) const'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_accel.o):accel.cpp:(.text+0x0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d005688.o):: multiple definition ofwxApp::~wxApp()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_app.o):app.cpp:(.text+0xa50): first defined here D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_window.o):window.cpp:(.text+0xa2d2): undefined reference to_TrackMouseEvent@4'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_app.o):app.cpp:(.text+0x6e1): undefined reference toOleInitialize@4' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_app.o):app.cpp:(.text+0x90e): undefined reference toOleUninitialize@0'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_droptgt.o):droptgt.cpp:(.text+0x8e4): undefined reference toCoLockObjectExternal@12' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_droptgt.o):droptgt.cpp:(.text+0x8fc): undefined reference toRegisterDragDrop@8'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_droptgt.o):droptgt.cpp:(.text+0x92e): undefined reference toCoLockObjectExternal@12' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_droptgt.o):droptgt.cpp:(.text+0x951): undefined reference toRevokeDragDrop@4'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_droptgt.o):droptgt.cpp:(.text+0x96e): undefined reference toCoLockObjectExternal@12' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_filename.o):filename.cpp:(.text+0x1805): undefined reference toCoCreateInstance@20'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_imaglist.o):imaglist.cpp:(.text+0xdb): undefined reference toImageList\_Create@20' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_imaglist.o):imaglist.cpp:(.text+0x179): undefined reference toImageList_Destroy@4'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_imaglist.o):imaglist.cpp:(.text+0x259): undefined reference toImageList\_Destroy@4' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_imaglist.o):imaglist.cpp:(.text+0x339): undefined reference toImageList_Destroy@4'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_imaglist.o):imaglist.cpp:(.text+0x3d0): undefined reference toImageList\_GetImageCount@4' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_imaglist.o):imaglist.cpp:(.text+0x3fe): undefined reference toImageList_GetIconSize@12'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_imaglist.o):imaglist.cpp:(.text+0x451): undefined reference toImageList\_AddMasked@12' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_imaglist.o):imaglist.cpp:(.text+0x4cd): undefined reference toImageList_ReplaceIcon@12'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_imaglist.o):imaglist.cpp:(.text+0x54a): undefined reference toImageList\_ReplaceIcon@12' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_imaglist.o):imaglist.cpp:(.text+0x577): undefined reference toImageList_Remove@8'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_imaglist.o):imaglist.cpp:(.text+0x5a2): undefined reference toImageList\_GetImageCount@4' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_imaglist.o):imaglist.cpp:(.text+0x612): undefined reference toImageList_SetBkColor@8'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_imaglist.o):imaglist.cpp:(.text+0x662): undefined reference toImageList\_Draw@24' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_imaglist.o):imaglist.cpp:(.text+0xd29): undefined reference toImageList_GetIcon@12'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_imaglist.o):imaglist.cpp:(.text+0x111c): undefined reference toImageList\_Replace@16' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_imaglist.o):imaglist.cpp:(.text+0x1175): undefined reference toImageList_Add@12'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_oleutils.o):oleutils.cpp:(.text\_Z15wxOleInitializev[wxOleInitialize()]+0xe): undefined reference to `OleInitialize@4' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib\_oleutils.o):oleutils.cpp:(.text_Z17wxOleUninitializev[wxOleUninitialize()]+0x5): undefined reference toOleUninitialize@0' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0xf9d): undefined reference toOleInitialize@4'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0x113d): undefined reference toOleInitialize@4' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0x11ee): undefined reference toOleSetClipboard@4'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0x1264): undefined reference toOleUninitialize@0' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0x1344): undefined reference toOleUninitialize@0'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0x1414): undefined reference toOleUninitialize@0' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0x1487): undefined reference toOleFlushClipboard@0'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0x152c): undefined reference toOleSetClipboard@4' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0x15ed): undefined reference toOleGetClipboard@4'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_clipbrd.o):clipbrd.cpp:(.text+0x17fb): undefined reference toReleaseStgMedium@4' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_dataobj.o):dataobj.cpp:(.text+0xbc6): undefined reference toReleaseStgMedium@4'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 12 seconds)
0 errors, 0 warnings
-
Was linkst du denn alles für Libs dazu?
-
linke nur die libwxmsw26.a, diese enthaelt alles (monolithic build).
Also keine anderen libwx...Wenn weitere linkerfehler, dann aendere die linkreihenfolge. Linke die libwxmsw26.a als erste lib.
-
Hm, dann hab ich keine große Ahnung was da noch fehlt, ich benutze aber auch keinen monolithic Build...
-
Danke
Nur nocheinmal zur sicherheit: ich benutze monolithic build
Also ich hab die Libs in folgender Reihenfolge gelinkt:wxmsw26
Kernel32.lib
User32.lib
Gdi32.lib
ComDlg32.lib
WinSpool.lib
WinMM.lib
RpcRT4.lib
Shell32.lib
Uuid.lib
WSock32.lib
AdvAPI32.lib
ComCtl32.lib
odbc32.lib
odbccp32.lib
ole32.lib
OleAut32.lib
-
bei dir fehlt auf alle faelle die libcomctl32.
unten sind die libs aufgefuehrt, die meiner Meinung nach dazu gelinkt werden müssen
wxmsw26
wxtiff, wxjpeg, wxpng, wxzlib, wxregex, wxexpat, -> evtl auch noch
kernel32, user32, gdi32, comdlg32, winspool, winmm, shell32, comctl32, ole32, oleaut32, uuid, rpcrt4, advapi32, wsock32,
odbc32 -> optional
-
Habe noch etwas ich vergessen.
Auch die windows libs muessen die form libkernel32.a ( nicht kernel32.lib ) haben.
Fuer weitere hilfe brauche ich alle fehlermeldungen.
-
oh, das mit dem .a hab ich ganz vergessen
Ich hab jetzt die libs in der gleichen Reihenfolge wie von dir beschrieben gelinkt.
Nun kriege ich folgende Linkerrors:
Switching to target: default
Linking executable: D:\Entwicklung\CodeDev-Studio\Main\CodeDev.exe
D:\wx\wx\lib\libwxbase26.a(d000680.o):: multiple definition ofwxAppConsole::CheckBuildOptions(char const*, char const*)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_appbase.o):appbase.cpp:(.text+0xcf0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d001009.o):: multiple definition ofwxStringBase::InitWith(char const*, unsigned int, unsigned int)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_string.o):string.cpp:(.text+0xaa0): first defined here
D:\wx\wx\lib\libwxbase26.a(d002105.o):: multiple definition ofwxBaseArrayPtrVoid::~wxBaseArrayPtrVoid()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_dynarray.o):dynarray.cpp:(.text+0x490): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d002103.o):: multiple definition ofwxBaseArrayPtrVoid::wxBaseArrayPtrVoid()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_dynarray.o):dynarray.cpp:(.text+0x1e0): first defined here
D:\wx\wx\lib\libwxbase26.a(d000807.o):: multiple definition ofwxEvtHandler::wxEvtHandler()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_event.o):event.cpp:(.text+0x22f0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d000810.o):: multiple definition ofwxEvtHandler::~wxEvtHandler()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_event.o):event.cpp:(.text+0x2400): first defined here
D:\wx\wx\lib\libwxbase26.a(d000421.o):: multiple definition ofwxListBase::~wxListBase()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_list.o):list.cpp:(.text+0x5d0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d000399.o):: multiple definition ofwxListBase::Init(wxKeyType)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_list.o):list.cpp:(.text+0x0): first defined here
D:\wx\wx\lib\libwxbase26.a(d003028.o):: multiple definition ofwxObject::UnRef()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_object.o):object.cpp:(.text+0x0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d001642.o):: multiple definition ofwxEventHashTable::wxEventHashTable(wxEventTable const&)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_event.o):event.cpp:(.text+0x20c0): first defined here
D:\wx\wx\lib\libwxbase26.a(d001644.o):: multiple definition ofwxEventHashTable::~wxEventHashTable()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_event.o):event.cpp:(.text+0x1b90): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d003340.o):: multiple definition ofwxListBase::Find(wxListKey const&) const'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_list.o):list.cpp:(.text+0x280): first defined here
D:\wx\wx\lib\libwxbase26.a(d000436.o):: multiple definition ofwxNodeBase::wxNodeBase(wxListBase*, wxNodeBase*, wxNodeBase*, void*, wxListKey const&)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_list.o):list.cpp:(.text+0xd0): first defined here D:\\wx\\wx\\lib\\libwxbase26.a(d003027.o):: multiple definition ofwxObject::Ref(wxObject const&)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_object.o):object.cpp:(.text+0x3f0): first defined here
D:\wx\wx\lib\libwxbase26.a(d001015.o):: multiple definition ofwxStringBase::operator=(wxStringBase const&)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_string.o):string.cpp:(.text+0x0): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d005685.o):: multiple definition ofwxApp::wxApp()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_app.o):app.cpp:(.text+0xa20): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d000092.o):: multiple definition ofwxEntry(HINSTANCE\_\_*, HINSTANCE__*, char*, int)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_main.o):main.cpp:(.text+0x30): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d006765.o):: multiple definition ofwxMenuBar::wxMenuBar()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_menu.o):menu.cpp:(.text+0xfd0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d005962.o):: multiple definition ofwxFrame::~wxFrame()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_frame.o):frame.cpp:(.text+0x260): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d002842.o):: multiple definition ofwxMenuItemBase::New(wxMenu*, int, wxString const&, wxString const&, wxItemKind, wxMenu*)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_menuitem.o):menuitem.cpp:(.text+0x2b0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d005808.o):: multiple definition ofwxMenu::Init()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_menu.o):menu.cpp:(.text+0x350): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d000458.o):: multiple definition ofwxMenuBase::~wxMenuBase()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_menucmn.o):menucmn.cpp:(.text+0x170): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d000417.o):: multiple definition ofwxMenuBase::Init(long)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_menucmn.o):menucmn.cpp:(.text+0x0): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d001051.o):: multiple definition ofwxFrameBase::wxFrameBase()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_framecmn.o):framecmn.cpp:(.text+0x80): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d005953.o):: multiple definition ofwxFrame::Init()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_frame.o):frame.cpp:(.text+0x0): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d005955.o):: multiple definition ofwxFrame::Create(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_frame.o):frame.cpp:(.text+0x110): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d001054.o):: multiple definition ofwxFrameBase::~wxFrameBase()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_framecmn.o):framecmn.cpp:(.text+0x20): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d002134.o):: multiple definition ofwxWindowBase::Close(bool)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_wincmn.o):wincmn.cpp:(.text+0xff0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d000007.o):: multiple definition ofwxMessageBox(wxString const&, wxString const&, long, wxWindow*, int, int)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_utilscmn.o):utilscmn.cpp:(.text+0x2b00): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d002164.o):: multiple definition ofwxWindowBase::FindFocus()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_wincmn.o):wincmn.cpp:(.text+0x7830): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d000063.o):: multiple definition ofwxGetTopLevelParent(wxWindow*)' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_wincmn.o):wincmn.cpp:(.text+0x140): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d002125.o):: multiple definition ofwxWindowBase::GetClassDefaultAttributes(wxWindowVariant)'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_wincmn.o):wincmn.cpp:(.text+0x1be0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d002001.o):: multiple definition ofwxWindowBase::GetCapture()' D:\\Programme\\CodeBlocks\\lib/libwxmsw26.a(monolib_window.o):window.cpp:(.text+0xee0): first defined here D:\\wx\\wx\\lib\\libwxmsw26_core.a(d008424.o):: multiple definition ofwxAcceleratorTable::operator==(wxAcceleratorTable const&) const'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_accel.o):accel.cpp:(.text+0x0): first defined here
D:\wx\wx\lib\libwxmsw26_core.a(d005688.o):: multiple definition of `wxApp::~wxApp()'
D:\Programme\CodeBlocks\lib/libwxmsw26.a(monolib_app.o):app.cpp:(.text+0xa50): first defined here
collect2: ld returned 1 exit status
-
wahrscheinlich resultieren viele der Fehler die ich eben gepostet habe daraus das ich immer noch die wxbase26 und die wxmsw26_core eingebunden hatte.
Wenn ich die raus nehme kriege ich folgende Errors
Switching to target: default
Linking executable: D:\Entwicklung\CodeDev-Studio\Main\CodeDev.exe
.objs\main.o:main.cpp:(.text+0x59): undefined reference to\_imp\_\_\_ZN12wxAppConsole17CheckBuildOptionsEPKcS1_' .objs\\main.o:main.cpp:(.text+0x108): undefined reference to_imp___Z7wxEntryP11HINSTANCE__S0_Pci'
.objs\main.o:main.cpp:(.text+0x31d): undefined reference to\_imp\_\_wxFrameNameStr' .objs\\main.o:main.cpp:(.text+0x43a): undefined reference to_imp__wxEmptyString'
.objs\main.o:main.cpp:(.text+0x526): undefined reference to\_imp\_\_wxEmptyString' .objs\\main.o:main.cpp:(.text+0x61b): undefined reference to_imp___ZN9wxMenuBarC1Ev'
.objs\main.o:main.cpp:(.text+0x6f1): undefined reference to\_imp\_\_wxStatusLineNameStr' .objs\\main.o:main.cpp:(.text+0x884): undefined reference to_imp___ZN7wxFrameD2Ev'
.objs\main.o:main.cpp:(.text+0x901): undefined reference to\_imp\_\_wxFrameNameStr' .objs\\main.o:main.cpp:(.text+0xa1e): undefined reference to_imp__wxEmptyString'
.objs\main.o:main.cpp:(.text+0xb0a): undefined reference to\_imp\_\_wxEmptyString' .objs\\main.o:main.cpp:(.text+0xbff): undefined reference to_imp___ZN9wxMenuBarC1Ev'
.objs\main.o:main.cpp:(.text+0xcd5): undefined reference to\_imp\_\_wxStatusLineNameStr' .objs\\main.o:main.cpp:(.text+0xe68): undefined reference to_imp___ZN7wxFrameD2Ev'
.objs\main.o:main.cpp:(.text+0xec1): undefined reference to\_imp\_\_\_ZN12wxWindowBase5CloseEb' .objs\\main.o:main.cpp:(.text+0xf69): undefined reference to_imp___Z12wxMessageBoxRK8wxStringS1_lP8wxWindowii'
.objs\main.o:main.cpp:(.text+0x1011): undefined reference to\_imp\_\_\_ZN7wxFrame13sm_eventTableE' .objs\\main.o:main.cpp:(.text+0x1039): undefined reference to_imp___ZN16wxEventHashTableC1ERK12wxEventTable'
.objs\main.o:main.cpp:(.text+0x1088): undefined reference to\_imp\_\_wxEVT\_COMMAND\_MENU_SELECTED' .objs\\main.o:main.cpp:(.text+0x10c6): undefined reference to_imp__wxEVT_COMMAND_MENU_SELECTED'
.objs\main.o:main.cpp:(.text+0x1104): undefined reference to\_imp\_\_wxEVT_NULL' .objs\\main.o:main.cpp:(.text+0x114e): undefined reference to_imp___ZN16wxEventHashTableD1Ev'
.objs\main.o:main.cpp:(.text\_ZN5MyAppC1Ev[MyApp::MyApp()]+0xd): undefined reference to `\_imp___ZN5wxAppC2Ev' .objs\\main.o:main.cpp:(.text_ZN12wxAppConsole11GetInstanceEv[wxAppConsole::GetInstance()]+0x4): undefined reference to\_imp\_\_\_ZN12wxAppConsole14ms\_appInstanceE' .objs\\main.o:main.cpp:(.text$\_ZN12wxStringBaseC2EPKc[wxStringBase::wxStringBase(char const*)]+0x7): undefined reference to_imp___ZN12wxStringBase4nposE'
.objs\main.o:main.cpp:(.text\_ZN12wxStringBaseC2EPKc[wxStringBase::wxStringBase(char const*)]+0x27): undefined reference to `\_imp___ZN12wxStringBase8InitWithEPKcjj' .objs\\main.o:main.cpp:(.text_ZN10wxMenuBase15AppendSeparatorEv[wxMenuBase::AppendSeparator()]+0x39): undefined reference to\_imp__wxEmptyString' .objs\\main.o:main.cpp:(.text$\_ZN10wxMenuBase15AppendSeparatorEv[wxMenuBase::AppendSeparator()]+0x5c): undefined reference to_imp__wxEmptyString'
.objs\main.o:main.cpp:(.text\_ZN10wxMenuBase6AppendEiRK8wxStringS2\_10wxItemKind[wxMenuBase::Append(int, wxString const&, wxString const&, wxItemKind)]+0x31): undefined reference to `\_imp\_\_\_ZN14wxMenuItemBase3NewEP6wxMenuiRK8wxStringS4\_10wxItemKindS1\_' .objs\\main.o:main.cpp:(.text_ZN6wxMenuC1El[wxMenu::wxMenu(long)]+0x52): undefined reference to\_imp___ZTV6wxMenu' .objs\\main.o:main.cpp:(.text$\_ZN6wxMenuC1El[wxMenu::wxMenu(long)]+0x77): undefined reference to_imp___ZN6wxMenu4InitEv'
.objs\main.o:main.cpp:(.text\_ZN6wxMenuC1El[wxMenu::wxMenu(long)]+0xc5): undefined reference to `\_imp___ZN10wxMenuBaseD2Ev' .objs\\main.o:main.cpp:(.text_ZN18wxAcceleratorArrayD1Ev[wxAcceleratorArray::~wxAcceleratorArray()]+0xd): undefined reference to\_imp___ZN18wxBaseArrayPtrVoidD2Ev' .objs\\main.o:main.cpp:(.text$\_ZN18wxAcceleratorArrayC1Ev[wxAcceleratorArray::wxAcceleratorArray()]+0xd): undefined reference to_imp___ZN18wxBaseArrayPtrVoidC2Ev'
.objs\main.o:main.cpp:(.text\_ZN10wxMenuBaseC2El[wxMenuBase::wxMenuBase(long)]+0x3c): undefined reference to `\_imp___ZN12wxEvtHandlerC2Ev' .objs\\main.o:main.cpp:(.text_ZN10wxMenuBaseC2El[wxMenuBase::wxMenuBase(long)]+0x4d): undefined reference to\_imp___ZTV10wxMenuBase' .objs\\main.o:main.cpp:(.text$\_ZN10wxMenuBaseC2El[wxMenuBase::wxMenuBase(long)]+0x8f): undefined reference to_imp___ZN10wxMenuBase4InitEl'
.objs\main.o:main.cpp:(.text\_ZN10wxMenuBaseC2El[wxMenuBase::wxMenuBase(long)]+0xf7): undefined reference to `\_imp___ZN12wxEvtHandlerD2Ev' .objs\\main.o:main.cpp:(.text_ZN14wxMenuItemListD1Ev[wxMenuItemList::~wxMenuItemList()]+0x16): undefined reference to\_imp___ZN10wxListBaseD2Ev' .objs\\main.o:main.cpp:(.text$\_ZN10wxListBaseC2E9wxKeyType[wxListBase::wxListBase(wxKeyType)]+0x44): undefined reference to_imp___ZTV10wxListBase'
.objs\main.o:main.cpp:(.text\_ZN10wxListBaseC2E9wxKeyType[wxListBase::wxListBase(wxKeyType)]+0x5b): undefined reference to `\_imp___ZN10wxListBase4InitE9wxKeyType' .objs\\main.o:main.cpp:(.text_ZN8wxObjectD2Ev[wxObject::~wxObject()]+0xa): undefined reference to\_imp___ZTV8wxObject' .objs\\main.o:main.cpp:(.text$\_ZN8wxObjectD2Ev[wxObject::~wxObject()]+0x1a): undefined reference to_imp___ZN8wxObject5UnRefEv'
.objs\main.o:main.cpp:(.text\_ZN8wxObjectC2Ev[wxObject::wxObject()]+0x8): undefined reference to `\_imp___ZTV8wxObject' .objs\\main.o:main.cpp:(.text_ZN12wxStringBase4InitEv[wxStringBase::Init()]+0x8): undefined reference to\_imp__wxEmptyString' .objs\\main.o:main.cpp:(.text$\_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4\_[wxFrame::wxFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)]+0x3c): undefined reference to_imp___ZN11wxFrameBaseC2Ev'
.objs\main.o:main.cpp:(.text\_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4\_[wxFrame::wxFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)]+0x4d): undefined reference to `\_imp\_\_\_ZTV7wxFrame' .objs\\main.o:main.cpp:(.text_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_[wxFrame::wxFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)]+0x5d): undefined reference to\_imp\_\_\_ZN7wxFrame4InitEv' .objs\\main.o:main.cpp:(.text$\_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4\_[wxFrame::wxFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)]+0xa2): undefined reference to_imp___ZN7wxFrame6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_'
.objs\main.o:main.cpp:(.text\_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4\_[wxFrame::wxFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)]+0xc0): undefined reference to `\_imp\_\_\_ZN11wxFrameBaseD2Ev' .objs\\main.o:main.cpp:(.text_ZN12wxAppConsole22SetInitializerFunctionEPFPS_vE[wxAppConsole::SetInitializerFunction(wxAppConsole* ()())]+0x5): undefined reference to\_imp\_\_\_ZN12wxAppConsole12ms_appInitFnE' .objs\\main.o:main.cpp:(.text$\_ZNK14wxMenuItemList4FindERK9wxListKey[wxMenuItemList::Find(wxListKey const&) const]+0x14): undefined reference to_imp___ZNK10wxListBase4FindERK9wxListKey'
.objs\main.o:main.cpp:(.text\_ZN20wxwxMenuItemListNodeC1EP10wxListBasePS\_S2\_P10wxMenuItemRK9wxListKey[wxwxMenuItemListNode::wxwxMenuItemListNode(wxListBase*, wxwxMenuItemListNode*, wxwxMenuItemListNode*, wxMenuItem*, wxListKey const&)]+0x30): undefined reference to `\_imp\_\_\_ZN10wxNodeBaseC2EP10wxListBasePS\_S2_PvRK9wxListKey' .objs\\main.o:main.cpp:(.text_ZN20wxwxMenuItemListNodeC1EP10wxListBasePS_S2_P10wxMenuItemRK9wxListKey[wxwxMenuItemListNode::wxwxMenuItemListNode(wxListBase, wxwxMenuItemListNode*, wxwxMenuItemListNode*, wxMenuItem*, wxListKey const&)]+0x3a): undefined reference to\_imp___ZTV20wxwxMenuItemListNode' .objs\\main.o:main.cpp:(.text$\_ZN14wxMenuItemListD0Ev[wxMenuItemList::~wxMenuItemList()]+0x16): undefined reference to_imp___ZN10wxListBaseD2Ev'
.objs\main.o:main.cpp:(.text\_ZN20wxTopLevelWindowBase8IsActiveEv[wxTopLevelWindowBase::IsActive()]+0x7): undefined reference to `\_imp___ZN12wxWindowBase9FindFocusEv' .objs\\main.o:main.cpp:(.text_ZN20wxTopLevelWindowBase8IsActiveEv[wxTopLevelWindowBase::IsActive()]+0x11): undefined reference to\_imp___Z19wxGetTopLevelParentP8wxWindow' .objs\\main.o:main.cpp:(.text$\_ZNK12wxWindowBase20GetDefaultAttributesEv[wxWindowBase::GetDefaultAttributes() const]+0x1d): undefined reference to_imp___ZN12wxWindowBase25GetClassDefaultAttributesE15wxWindowVariant'
.objs\main.o:main.cpp:(.text\_ZNK12wxWindowBase10HasCaptureEv[wxWindowBase::HasCapture() const]+0x7): undefined reference to `\_imp___ZN12wxWindowBase10GetCaptureEv' .objs\\main.o:main.cpp:(.text_ZN18wxAcceleratorTableaSERKS_[wxAcceleratorTable::operator=(wxAcceleratorTable const&)]+0x2a): undefined reference to\_imp\_\_\_ZN8wxObject3RefERKS_' .objs\\main.o:main.cpp:(.text$\_ZNK18wxAcceleratorTableneERKS\_[wxAcceleratorTable::operator!=(wxAcceleratorTable const&) const]+0x14): undefined reference to_imp___ZNK18wxAcceleratorTableeqERKS_'
.objs\main.o:main.cpp:(.text\_ZN8wxStringaSERKS\_[wxString::operator=(wxString const&)]+0x14): undefined reference to `\_imp\_\_\_ZN12wxStringBaseaSERKS_' .objs\\main.o:main.cpp:(.text_ZNK9wxAppBase12GetTopWindowEv[wxAppBase::GetTopWindow() const]+0x1b): undefined reference to\_imp__wxTopLevelWindows' .objs\\main.o:main.cpp:(.text$\_ZNK9wxAppBase12GetTopWindowEv[wxAppBase::GetTopWindow() const]+0x2c): undefined reference to_imp__wxTopLevelWindows'
.objs\main.o:main.cpp:(.text\_ZN5MyAppD1Ev[MyApp::~MyApp()]+0x16): undefined reference to `\_imp___ZN5wxAppD2Ev' .objs\\main.o:main.cpp:(.text_ZN5MyAppD0Ev[MyApp::~MyApp()]+0x16): undefined reference to\_imp___ZN5wxAppD2Ev' .objs\\main.o:main.cpp:(.text$\_ZN7MyFrameD1Ev[MyFrame::~MyFrame()]+0x16): undefined reference to_imp___ZN7wxFrameD2Ev'
.objs\main.o:main.cpp:(.text$_ZN7MyFrameD0Ev[MyFrame::~MyFrame()]+0x16): undefined reference to `_imp___ZN7wxFrameD2Ev'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 8 seconds)
0 errors, 0 warnings
-
Problem gelöst!!!!
Ich habe die libwxmsw26.a aus den Linkereigenschaften entfernt und stattdessen die libwxbase.a und die libwxmsw26_core.aDanke für eure Hilfe!
-
Bist du sicher das die lib wxmsw26 mit der gleichen compiler version mingw erstellt wurde, die du auch besitzt?
Es sieht so aus als ob sich lib und compiler nicht vertragen.
welche compiler version besitzt du g++ 3.4.5?Woher hast du die lib?
-
Ich benutze die Version 3.4.2.
-
Wenn du undefinierte Referenzen zu "_imp___" Kram bekommst, kannst du gewöhnlich davon ausgehen, dass die import-lib für eine dll nicht dazugelinkt wurde. Das schöne an MinGW-g++ ist aber, dass man damit dlls direkt linken kann! Einfach die dll beim Linker angeben und fertig!