[gtkmm][GTK+] błąd linkowania w Dev-Cpp & minGW
Ostatnio zmodyfikowano 2015-04-07 22:35
lynxpl Temat założony przez niniejszego użytkownika |
[gtkmm][GTK+] błąd linkowania w Dev-Cpp & minGW » 2015-04-06 15:28:46 Witajcie.
Mam problem związany z instalacją biblioteki GTK+ z nakładką gtkmm na swoim komputerze. Mam błąd linkera w Devie (wersja 5.6.2- rozwijana przez niejakiego Orwella) poniższego typu:
Kompilator: MinGW GCC 4.8.1 32-bit Release [...] Wykonywanie make... mingw32-make.exe -f [...] g++.exe -D__DEBUG__ -c maintgtk.cpp -o maintgtk.o [tu są parametry konsolidatora o których później] g++.exe: error: e/glib-2.0: No such file or directory recipe for target 'maintgtk.o' failed [...] mingw32-make.exe: *** [maintgtk.o] Error 1
Co do tej pory zrobiłem: 1. Ściągnąłem skompilowane pod MinGW biblioteki gtkmm 3.6 oraz GTK+ 3.6.4(20130921). 2. Rozpakowałem je do jednego folderu tak by pliki gtkmm były w odpowiednich podkatalogach razem z plikami GTK+. 3. Wykonałem instrukcje zamieszczoną przez MrPoxipola w wątku T-9692 na tym forum, odnośnie zmiennych systemowych, z pominięciem ścieżek dotyczących GLADEa którego nie mam. 4. Uruchomiłem z wiersza poleceń programik pkg-config generujący mi parametry dla kompilatora i konsolidatora. 5. Wkleiłem parametry z pkt. 4 do stosownych pól w opcjach projektu Deva.
No i lipa... W tym sensie, że kompilator informuje mnie jakoby nie było-jeśli dobrze rozumiem co do mnie mówi- glib-2.0. Tymczasem jest i stoi jak byk zarówno taki folder w \GTK\lib jak i plik glib-2.0.lib. O co chodzi? W parametrach jest komenda -lglib-2.0... Ktoś ma jakiś pomysł? Bo to raczej nie wina IDE które, jak zaraz pewnie usłyszę, jest dla większości już przeżytkiem ;P. Z góry dziękuje za pomoc.
|
|
Brunon3 |
» 2015-04-06 17:52:57 Dev-C++ to nie jest dobry kompilator IDE. Jeżeli pracujesz na Windowsie: MS Visual C++ 2010 Express (albo jakieś inne, ja na tym pracuję). Jeżeli Linuks: Code::Blocks.
-BD. |
|
lynxpl Temat założony przez niniejszego użytkownika |
» 2015-04-06 19:34:38 No tak, tylko że Dev-Cpp nie jest kompilatorem... To nie na temat.
----edit---- No dobra, załóżmy że Dev-Cpp jest słabym IDE. Jak to się ma do mojego problemu? Przecież błąd generuje linker który jest w MinGW, także Dev jest tylko pośrednikiem w wyświetlaniu komunikatu. I nic więcej. Chyba, że nie przekazuje właściwie parametrów kompilacji do minGW. Zresztą, dobra. Ściągnę C:B i podłącze doń te biblioteki. Zobaczę. Jeśli to rozwiąże problem to przyznam Ci rację. |
|
maly |
» 2015-04-07 07:04:20 g++.exe: error: e/glib-2.0: No such file or directory |
Tymczasem jest i stoi jak byk zarówno taki folder w \GTK\lib jak i plik glib-2.0.lib. O co chodzi? |
Coś sknociłeś z instalacją GTK lub z pkg-config, możesz ręcznie ustawić prawidłowe ściężki dla linkera w IDE. jak zaraz pewnie usłyszę, jest dla większości już przeżytkiem |
Nie jest przeżytkiem tylko kupą błędów i niedociągnięć. |
|
lynxpl Temat założony przez niniejszego użytkownika |
» 2015-04-07 13:16:47 Co do pkg-config: uruchomilem go z argumentami pkg-config --cflags gtkmm-3.0 oraz pkg-config --libs gtkmm-3.0 bo interesuje mnie użycie gtkmm a nie gtk+. Tak wygenerowane parametry wkleiłem do deva. To źle?
BTW. Zainstalowałem C:B. Wykonałem instrukcję Poxipola z wątku T-9692 ale w chwili w której podałem mu wszystkie podfoldery GTK+ w okienku deklarowania zmiennych globalnych, zapytał o lokalizację GTK (chociaż mu podałem) i gdy podaje folder główny GTK to krzyczy, że nie może znaleźć gtk.h (które jest faktycznie schowane 4 poziomy niżej w podfolderach z gałęzi include) a gdy mu wskazuje gdzie się znajduje ten plik to krzyczy że nie widzi reszty (tzn. podfolderów bin, include, lib itd.). No więc jak to jest z tym Code:Blocksem i GTK??? Aha. Domyślna opcja $(#gtk) nie działa. |
|
Buby |
Nic na siłę wszystko młotkiem » 2015-04-07 15:05:31 Kolego, ja stworzyłem sobie w Code::Blocks nowy projekt, dodałem ręcznie wszystkie includy, dołączyłem ręcznie w opcjach projektu pliki .a i .lib Wiem, że to metoda buta w drzwiach i zajmie Ci trochę czasu, ale działa... |
|
lynxpl Temat założony przez niniejszego użytkownika |
» 2015-04-07 21:31:09 Nie no, proszę. Ja wiem, że tak można ale czy już naprawdę nic nie można zrobić? Przecież to w dobie tych wszystkich narzędzi jakiś nonsens. Moje próby z C::B wydają się tylko oddalać mnie od rozwiązania a nie przybliżać, bowiem w analogicznej do wyjściowej sytuacji z wklejonymi, z pkg-config, parametrami do opcji kompilacji MinGW pod C::B wykonuje pusty przebieg nie zgłaszając żadnego błędu... tylko brak czegokolwiek do podlinkowania(!) mimo zadanego include'a:
-------------- Build: Debug in testgtkmm (compiler: GNU GCC Compiler)--------------- Linking stage skipped (build target has no object files to link) Nothing to be done (all items are up-to-date).
Zrobiłem to na bazie pustego projektu. Regres a nie progres w stosunku do Dev-Cpp na mój gust. [OT] Szczerze powiem, że choć C::B robi wrażenie to jednak nie odnajduje się w nim- jest za skomplikowany.[/OT] |
|
Buby |
» 2015-04-07 21:40:28 Widzę, że nie potrafisz czytać ze zrozumieniem... Kompilator pokazuje, że nie ma żadnych bibliotek podlinkowanych, wejdź w project>>build options. Przejdź do zakładki linker. Po lewej masz listę, kliknij na "add" i dodaj wszystkie pliki o rozszerzeniu .a oraz .lib z katalogu lib. |
|
« 1 » 2 |