Topic: Problem beim bauen von Widelands
Shazman Topic Opener |
Posted at: 2011-07-13, 21:36
An der folgenden Stelle komm ich nicht weiter:
Top Quote |
Nasenbaer |
Posted at: 2011-07-13, 22:19
Moin Shazman, Ich schau jetzt mal in die Glaskugel (Was ein Zaunpfeilerwink für "gib das nächste Mal bitte mehr Information an" ist. ) Für mich sieht das so aus, als ob du versucht hast unter irgendeinem Windows mit MinGW + MSys Widelands zu kompilieren. Wahrscheinlich hast du dabei das Makefile unter ./build/win32/mingw verwendet. Falls das der Fall ist, ist wahrscheinlich einfach das Makefile nicht mehr up to date, da, nachdem wir zu "cmake" gewechselt haben, sich wohl keiner mehr um das Makefile gekümmert hat. Falls das nicht der Fall ist, ist höchstwahrscheinlich irgendwas mit der Bau-Umgebung nicht in Ordnung - das kann in dem Fall ziemlich viel sein - von "instablier Kompiler" über inkompatible Bibliotheken bishin zu verlaltete Header - in dem Fall brauchen wir dringend informationen über das System auf dem du Baust und darüber wie du baust. Falls du das fertige Makefile benutzt, kann ich auch noch mal empfehlen, die andere Möglichkeit mit cmake auszuprobieren -> BuildingWidelandsUnderWindows Liebe Grüße Peter Top Quote |
Shazman Topic Opener |
Posted at: 2011-07-14, 20:45
Nabend, ist ja super wie schnell hier geantwortet wird! Deine Glaskugel solltest du auf jeden Fall behalten, die ist doch ganz gut ;-). Ich hab mich an die Anleitung (auf die du auch verlinkt hast) gehalten und bin halt bei "Compiling the source using Makefile" hängen geblieben. Also somit nutze ich mingw unter Windows7 und die erwähnten Pakete (boost, expat, gettext, ggz-base-libs, glew, libgettextpo, libiconv, libintl, lpng, lua, sdl, sdl_gfx, sdl_image, sdl_mixer, sdl_net, sdl_ttf, zlib). Jetzt hab ich es mal mit cmake (2.8.4) versucht. Leider komm ich auch hier nicht weiter, da Boost nicht gefunden wird. Zuvor hab ich das 3rdParty source bundle via ./buildmingw.sh gebaut (Entgegen der Anleitung ist es ja doch ganz schön gesprächig ). Ich hab das boost-Verzeichnis (aus boost_minimal vom 3rdparty source bundle) in mein ../mingw/include/ Verzeichnis kopiert. Hier sollte es cmake doch bekannt sein, oder? Zumindest bekomme ich folgende Fehlermeldung: $ cmake -G "MSYS Makefiles" -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INCLUDE_PATH=/usr/local/include/SDL/ -DCMAKE_BUILD_TYPE=Release ../ -- Disabled Unit Tests CMake Error at c:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:1128 (message): Unable to find the requested Boost libraries. Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers. Call Stack (most recent call first): CMakeLists.txt:139 (find_package) -- Using compiler flags: -O2 -DNDEBUG -- Found GGZ_Core: C:/Software/MinGW/msys/1.0/local/lib/libggzmod.dll.a;C:/Software/MinGW/msys/1.0/local/lib/libggzcore.dll.a;C:Software/MinGW/msys/1.0/local/lib/libggz.dll.a CMake Error at c:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE): Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR) Call Stack (most recent call first): c:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE) c:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPNG.cmake:59 (find_package_handle_standard_args) CMakeLists.txt:348 (find_package) -- Configuring incomplete, errors occurred! Vielen Dank für die Hilfe, Gruß Shazman Top Quote |
Nasenbaer |
Posted at: 2011-07-14, 21:50
Moin nochmal :),
Und genau das musst du machen. Für das Kompilieren brauchst du eigentlich nur die Header (.h) Dateien, du musst also Boost gar nicht kompilieren. Was viel wichtiger ist (was eigentlich automatisch passieren sollte) ist das BOOST_ROOT bzw. BOOST_INCLUDEDIR gesetzt werden. Einfach mal angenommen es gibt den Ordner C:\blablabla\boost mit dem Boost include Unterverzeichnis, dann versuch mal cmake wie folgt zu starten: cmake -D BOOST_ROOT=c:\blablabla\boost oder halt alternativ mit ... BOOST_INCLUDEDIR=c:\da\wo\header\von\boost\liegen Ich drück dir die Daumen Edited: 2011-07-14, 21:51
Top Quote |
Shazman Topic Opener |
Posted at: 2011-07-16, 21:14
Nabend, es fehlten zwar noch ein paar andere Verzeichnisse, aber letztendlich lies es sich bauen. Danke nochmal Top Quote |
Shazman Topic Opener |
Posted at: 2011-07-18, 21:28
... weiter gehts, nachdem sich nun widelands bauen lässt, wollte ich eclipse als IDE nutzen. Leider komme ich auch hier nicht weiter. Der Befehl cmake -G"Eclipse CDT4 - MinGW Makefiles" -D CMAKE_BUILD_TYPE=Debug ../src liefert mir zurück, dass die beiden CMakeLists.txt Dateien im widelands-source Verzeichnis nicht mit der im widelands-source/src Verzeichnis zusammenpasst und ich soll cmake mit einem andern Quellverzeichnis ausführen.... Ich hoffe mir kann wieder jemand dabei auf die Sprünge helfen widelands als eclipse-projekt einzubinden. Ich denk mal nicht, dass ich der erste bin der das vor hat :-). Viele Grüße Shazman Top Quote |
Nasenbaer |
Posted at: 2011-07-18, 21:54
Moin Shazman,
Zumindest soweit ich weiß schon ;). Ich wusste nicht mal, dass man mit cmake eclipse Projekte erstellen kann - aber gut, ich habe mich auch nie wirklich damit auseinander gesetzt. Wäre aber auf jeden Fall interessant zu wissen, ob du es zum Laufen bekommst (mit etwas glück meldet sich ja noch jemand, der da mehr Ahnung von hat, als ich ) und wie gut das dann mit Eclipse funktioniert. Liebe Grüße Peter Top Quote |
Venatrix |
Posted at: 2011-07-21, 11:28
Ich persönlich habe zwar keine Ahnung, aber mein Mann nutzt auch Eclipse für seine Arbeiten. Die Frage ist: Warum willst du Widelands als Eclipse-Projekt einbinden? Das ist doch gar nicht nötig. Da du ja offensichtlich ein Makefile erstellen kannst, kannst du Eclipse ein solches benutzen lassen. Seine Vorgehensweise wäre: 1. ein neues C++-Projekt als leeres Makefile-Projekt anlegen 2. mit Bazaar die Quellen von Widelands in das Projekt-Verzeichnis packen 3. dann innerhalb des Verzeichnisses in den build-Ordner wechseln und dort den cmake-Befehl ausführen (so wie dein erster Anlauf, zusätzlich mit der Option "-D CMAKE_VERBOSE_MAKEFILE=YES") 4. eine Makefile-Datei im Wurzelverzeichnis erstellen mit dem Inhalt
Dann sollte Eclipse das Projekt eigentlich bauen können und auch alles finden. Es gibt von unserer Seite allerdings keine Garantie, dass es funktioniert. War das in etwa das, was du meintest? Two is the oddest prime. Top Quote |