Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[gtkmm][GTK+] błąd linkowania w Dev-Cpp & minGW

Ostatnio zmodyfikowano 2015-04-07 22:35
Autor Wiadomość
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.

P-130259
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.
P-130284
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ę.
P-130288
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ęć.
P-130310
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.
P-130321
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...
P-130325
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]
P-130376
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.
P-130379
« 1 » 2
  Strona 1 z 2 Następna strona