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

[WxWidgets] Instalowanie i kompilowanie przykładów

Ostatnio zmodyfikowano 2017-07-22 19:04
Autor Wiadomość
Ł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.
P-163468
mateczek
» 2017-07-21 16:28:45
skoro nie masz predyspozycji co do gui, To zainstaluj sobie Qt.
http://download.qt.io​/official_releases/qt/5.9/5.9.1​/qt-opensource-windows-x86-5.9.1.exe

dostaniesz zintegrowane środowisko QtCreator z kompilatorem. i dobry kurs na yt https://www.youtube.com/watch​?v=6KtOzh0StTc​&list=PL2D1942A4688E9D63


http://dimitris.apeiro.gr​/wp-content/uploads/2015/06​/qt55-installer-src.jpg
mniej-więcej takie opcje trzeba zaznaczyć gdy chcesz zainstalować. instalowanie pakietów dla androida czy visuala nie ma sensu na początku. No i jeszcze ptaszek w zakładce tools->qtCreator nie jestem pewny czy w nowym instalatorze jest domyślny !!!
P-163473
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ą?
P-163477
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 )
P-163479
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.
P-163484
Ł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.
P-163488
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
P-163489
Łakasabasz
Temat założony przez niniejszego użytkownika
» 2017-07-22 18:14:27
O tym mówisz?
http://i.imgur.com/q9VhLEu.png
http://i.imgur.com/q9VhLEu.png
P-163491
« 1 » 2
  Strona 1 z 2 Następna strona