Problem beim ersten Projekt mit Codeblocks



  • Hallo zusammen,

    Vorab ein Frohes neues Jahr.
    Ich habe Code::Blocks installiert und habe versucht mein erstes Projekt zu kompilieren, dazu habe ich ein Beispiel zu meinem Lehrbuch genommen.
    Aber so langsam bin ich echt am verzweifeln, ich hatte zuerst das Problem das er die Setup.h datei von WXWidgets nicht gefunden hat, da habe ich den Fehler bereits gefunden doch jetzt kommt ein Fehler nachdem anderen.

    Hieru einmal ein kleines Screenshot:

    http://www.bilder-space.de/show_img.php?img=7e34e0-1294063673.jpg&size=original


  • Mod

    Eigentlich musst du den jeweiligen Ordner in dem setup.h liegt, in die Include Pfade aufnehmen. Dann müsste es klappen, hier ist es evtl. die falsche setup.h.



  • Und was ist das für ein Fehler wenn kommt

    ~ld.exe||cannot find -lwxmsw28|
    ||=== Build finished: 1 errors, 0 warnings ===|
    ~


  • Mod

    Dann findet er die Library nicht, editiere die meistens auch noch selber korrekt.
    Pfad muss natürlich auch stimmen.



  • Wie kann ich die denn selber editieren?



  • Das müsste unter Project->Build Options->Search Directories->Linker gehen.
    Alternativ könnte auch unter Settings->Global Variables was zu holen sein.



  • Da kommt immer noch der selbe Fehler 😞



  • Hast du wxWidgets kompiliert, wenn ja wie? Oder hast du wxPack runtergeladen?



  • ich habe es mit dem Tutorial gemacht :

    http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef



  • Soweit schon mal gut. Was steht denn bei deinen Linker-Suchpfaden und hast du auch die richtigen Projekteinstellungen vorgenommen (bei diesem Fenster mit [Use wxWidgets as a monolithic Library], [Use wxWidgets DLL] und [Unicode build])?



  • Also als base habe ich den Stammordner von WxWidgets angegebe, als include den unterordner include und als lib den Unterordner lib.

    Und in den einstellung habe ich alles nach einer anderen Anleitung!

    http://www.pronix.de/pronix-1138.html



  • Kannst du mal bitte sagen, _welche_ Häkchen du gesetzt hast und _welche_ Kompiliereinstellungen du verwendet hast? Aber übrigens: im lib-Ordner liegen keine Libraries. Die liegen bei lib\gcc_lib oder lib\gcc_dll. Vielleicht solltest du das abändern.





  • Okay, kannst du dann mal bitte checken, ob du die Datei <wxWidgets-Dir>\lib\gcc_dll\libwxmsw28.a hast?



  • Nein aber <wxWidgets\lib\gcc_dll\libwxmsw28u.a>



  • Vielen Dank für deine Hilfe, er hat beim erstellen der Libaries 2 Fehler gehabt 😞
    Aber jetzt geht es 🙂

    Gruß Drankaner



  • Ich möchte mich hier anhängen, um nicht extra ein weiteren thread zu eröffnen.

    Also ich habe Folgende Fehlermeldungen:

    ||=== LCD_TEST_02, Debug ===|
    F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_dllimp.h|149|warning: no newline at end of file|
    F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp||In function `int main(int, _TCHAR**)':|
    F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|113|warning: comparison between signed and unsigned integer expressions|
    F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|114|warning: comparison between signed and unsigned integer expressions|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0x4bb)||In function `main':|
    F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|67|undefined reference to `_imp__LgOpenLcdDevice'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0x59a):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|88|undefined reference to `_imp__LgGetDisplayLight'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0x7b5):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|91|undefined reference to `_imp__LgSetDisplayLight'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0x827):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|94|undefined reference to `_imp__LgGetKeyboardLight'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0xa42):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|97|undefined reference to `_imp__LgSetKeyboardLight'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0xab4):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|100|undefined reference to `_imp__LgGetMLights'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0xd2a):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|103|undefined reference to `_imp__LgSetMLights'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0xdb2):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|108|undefined reference to `_imp__LgSetContrast'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0xec8):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|118|undefined reference to `_imp__LgSetDisplayData'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0xf41):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|121|undefined reference to `_imp__LgSetGKeyCallbackFunction'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0xfb0):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|122|undefined reference to `_imp__LgSetKeyboardKeyCallbackFunction'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0x101f):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|123|undefined reference to `_imp__LgSetMediaKeyCallbackFunction'|
    obj\Debug\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.o(.text+0x111c):F:\Datensicherung\Geschriebene Programme\C++\LCD_CPP\c\lglcd_dda_test\lglcd_dda_test.cpp|135|undefined reference to `_imp__LgFreeLcdDevice'|
    ||=== Build finished: 13 errors, 3 warnings ===|
    

    was heißt undefined refernece to _imp_*********
    Diese Methoden stammen aus einem Wrapper, welcher mir die Möglichkeit geben sollte, programme für meinen LCD Display zu schreiben. Doch scheiter ich an dieser unzulänglichen erklärung. Bzw scheint es was mit Zeigern?! zu tun haben.

    Vll kann jemand mit mehr Hintergrundwissen mir einen Tip/Lösung geben.

    mfg Chrisotpher Freytag



  • sieht aus, als wenn du noch die ein oder andere Library dazulinken musst.
    Vermutlich sowas wie "lglcd_dda_dll.dll".

    Das geht bei Code::Blocks im Menu unter Project >> Build options...
    Dort den Reiter für Linker settings auswählen.
    Dann die Library hinzulinken)

    Wo die DLL bei dir liegt, weiß ich allerdings nicht.



  • Ich danke dir vielmals, woran hast du dass denn nun erkannt?
    Bzw woran könnte ich dies erkennen?



  • Das ne Library fehlt, lässt sich an "undefined reference" vermuten.
    Das es "lglcd_dda_dll.dll" ist, findet man bei google in Zusammenhang mit der Funktion "LgOpenLcdDevice" 😃


Anmelden zum Antworten