[WxWidgets] Instalowanie i kompilowanie przykładów
Ostatnio zmodyfikowano 2017-07-22 19:04
Łakasabasz Temat założony przez niniejszego użytkownika |
[WxWidgets] Instalowanie i kompilowanie przykładów » 2017-07-21 15:14:55 Czemu mam takiego pecha z bibliotekami do GUI? Nie wiem, ale mniejsza. W poprzednim poście o SFGUI doradziliście mi abym przeniósł się na TGUI, ze względu na prostotę obsługi i to że wszystko tam jest co mi może być potrzebne. I tu pojawił się problem z wielokrotnymi definicjami vsprintf. Podałem się i spróbowałem WxWidgets i jak można się domyślić, kompilator wywala błędy... mingw32-g++.exe -D_UNICODE -g -O2 -Wall -DWIN32 -D__WXMSW__ -DNDEBUG -D_UNICODE -DWXUSINGDLL -D_WINDOWS -DNOPCH -Wnon-virtual-dtor -Wshadow -Winit-self -Wredundant-decls -Wcast-align -Wundef -Wfloat-equal -Winline -Wunreachable-code -Wmissing-declarations -Wswitch-enum -Wswitch-default -Wextra -Wall -std=c++11 -D__WXMSW__ -D_UNICODE -I.\..\..\lib\vc_dll\mswu -I.\..\..\include -I. -I.\..\..\samples -IE:\MyLib\include -IG:\utilitis\MinGW\include -IG:\utilitis\wxWidgets-3.0.3\include -c G:\utilitis\wxWidgets-3.0.3\samples\access\accesstest.cpp -o vc_mswudll\accesstest\access\accesstest.o mingw32-g++.exe -L.\..\..\lib\vc_dll -LG:\utilitis\MinGW\lib -LG:\utilitis\wxWidgets-3.0.3\lib\gcc_lib -o vc_mswudll\accesstest.exe vc_mswudll\accesstest\access\accesstest.o vc_mswudll\accesstest\sample.res -static -lwxmsw30u_core -lwxbase30u -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregexu -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet -mwindows In file included from .\..\..\include/wx/utils.h:20:0, from .\..\..\include/wx/cursor.h:69, from .\..\..\include/wx/event.h:21, from .\..\..\include/wx/wx.h:24, from G:\utilitis\wxWidgets-3.0.3\samples\access\accesstest.cpp:29: .\..\..\include/wx/filefn.h: In function 'int wxAccess(const wxString&, mode_t)': .\..\..\include/wx/filefn.h:528:46: error: '_waccess' was not declared in this scope { return wxCRT_Access(path.fn_str(), mode); } ^ .\..\..\include/wx/filefn.h: In function 'int wxChmod(const wxString&, mode_t)': .\..\..\include/wx/filefn.h:530:45: error: '_wchmod' was not declared in this scope { return wxCRT_Chmod(path.fn_str(), mode); } ^ .\..\..\include/wx/filefn.h: In function 'int wxOpen(const wxString&, int, mode_t)': .\..\..\include/wx/filefn.h:532:51: error: '_wopen' was not declared in this scope { return wxCRT_Open(path.fn_str(), flags, mode); } ^ ...
Pracuję na Code::Blocks na Windowsie 7. Próbuję skompilować przykłady z paczki wxWidgets 3.0.3. P.S. Potrzebuje gui do projektu programu, który ma ułatwić zapoznawanie się z repozytoriami, przez podświetlanie składni i tworzenie linków do innych plików z kodem. |
|
mateczek |
» 2017-07-21 16:28:45 |
|
j23 |
» 2017-07-21 18:45:25 @Łakasabasz, trochę za mało informacji. W jaki sposób kompilujesz ten przykład? Z makefile, z IDE? Bibliotekę masz skompilowaną? |
|
mateczek |
» 2017-07-21 21:27:18 trochę za mało informacji. |
jak zawsze temat dodania biblioteki to ciężki temat na forum bo i opcji jest kilka i możliwości zrobienia czegoś źle lawinowo rosną wraz z każdą dodatkową opcją. Jeśli się pobiera bibliotekę w wersji binarnej to trzeba wersję dopasować do posiadanego kompilatora. W jakiś sposób dodać do projektu w swoim IDE. zadbać o odpowiednie opcje linkera. Przy kompilacji ze źródeł dochodzi sprawa odpowiedniego makefile. Czasami wymagane jest użycie narzędzi linuxowych (msys cygwin wersje tych narzędzi dla Windows). Więc dlatego poleciłem Qt bo autor nie ma preferencji co do biblioteki a instalacja Qt przebiega kompleksowo (kompilator biblioteka gui, i ide za jednym zamachem ) |
|
j23 |
» 2017-07-22 12:04:59 @ mateczek: dlatego pytam o szczegóły, bo ludzie potrafią bardzo dziwne rzeczy robić. Żeby skompilować przykłady wxWidgets, nie trzeba niczego dodawać do projektu, wystarczy odpalić odpowiedniego makefile'a. Czasami wymagane jest użycie narzędzi linuxowych (msys cygwin wersje tych narzędzi dla Windows). Więc dlatego poleciłem Qt (...) |
Qt zainstalowałem sobie MSYSem ;) Kompilacja wxWigdets to żaden problem (zresztą w MSYSie jest wersja 3.0.3), dodawanie do projektu w zasadzie też, bo istnieją szablony wxowych projektów w C::B czy CodeLite. Jedyne co trzeba to podać ścieżkę do biblioteki (C::B) albo ustawić dwie zmienne systemowe (CL). A MSYS2 warto mieć/znać, bo to bardzo dobre uzupełnienie dla MinGW. |
|
Łakasabasz Temat założony przez niniejszego użytkownika |
» 2017-07-22 14:47:08 Wybacz, bibliotekę pobrałem (a przynajmniej starałem się pobrać jako kod źródłowy). Kompilowałem ją programem mingw32-make. Wersję podałem w 1 poście. Moim zdaniem wywalany błąd wskazuje na brak jakiegoś pliku, ale nie mam pojęcia czego. Do linkowania jeszcze nie doszedłem więc na razie problemu z bibliotekami nie mam. |
|
mateczek |
» 2017-07-22 15:15:32 skoro pobrałeś źródła to przed kompilacją przykładów o których piszesz powinieneś najpierw skompilować bibliotekę W katalogu ../build/msw/ powinieneś znaleźć plik makefile dla gcc i to przy pomocy tego pliku powinieneś skompilować bibliotekę. Albo korzystając z msysa/msys2 za pomocą dwóch poleceń ./configure make
|
|
Łakasabasz Temat założony przez niniejszego użytkownika |
» 2017-07-22 18:14:27 |
|
« 1 » 2 |