Narzędzia użytkownika

Narzędzia witryny


ide_qt_creator

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Next revision
Previous revision
ide_qt_creator [2010/12/30 00:24]
tnetczuk utworzono wersję niepełną
ide_qt_creator [2011/01/01 20:39] (aktualna)
tnetczuk Błędy językowe i interpunkcja
Linia 1: Linia 1:
 ====== Wstęp ====== ====== Wstęp ======
 ===== Opis QT Creator ===== ===== Opis QT Creator =====
 +[[http://​qt.nokia.com/​products/​developer-tools/​ | QT Creator]] to darmowe środowisko programistyczne stworzone do wygodnej i szybkiej produkcji programów używających bibliotek QT. Jednakże samo środowisko zostało tak dobrze przygotowane,​ iż nadaje się nie tylko do tworzenia oprogramowania wykorzystującego biblioteki QT, ale również inne, dużych projektów.
 ===== Wersje użytych narzędzi ===== ===== Wersje użytych narzędzi =====
 Przy tworzeniu tego samouczka użyłem: Przy tworzeniu tego samouczka użyłem:
   * Windows 7 Professional 64 bit   * Windows 7 Professional 64 bit
-  * QT Creator 2010.05 (qt-sdk-win-opensource-2010.05.exe) +  * QT Creator 2010.05 ([[http://​get.qt.nokia.com/​qtsdk/​qt-sdk-win-opensource-2010.05.exe ​| qt-sdk-win-opensource-2010.05.exe]]
-  * Biblioteki Boost 1.45.0 (boost_1_45_0.7z ​Windows line ending)+  * Biblioteki Boost 1.45.0 ([[http://​sourceforge.net/​projects/​boost/​files/​boost/​1.45.0/​boost_1_45_0.7z/download | boost_1_45_0.7z]]) 
 + 
 +===== Przygotowanie narzędzi ===== 
 +Po rozpakowaniu bibliotek Boost, należy zainstalować QT Creatora z pakietem MinGW (potrzebne w wypadku braku takowego w systemie). 
 +Struktura katalogów w przypadku mojego systemu: 
 + 
 +Ścieżka do bibliotek Boost: 
 + 
 +{{:​qt_creator:​boost_path.png|}} 
 + 
 +Ścieżka do instalacji QT Creator: 
 + 
 +{{:​qt_creator:​qt_crator_path.png|}}
  
 ====== Kompilacja bibliotek Boost pod Windowsem ====== ====== Kompilacja bibliotek Boost pod Windowsem ======
 Aby skompilować biblioteki Boost, które następnie będziemy mogli linkować do QT Creator należy wykonać kolejno kroki: Aby skompilować biblioteki Boost, które następnie będziemy mogli linkować do QT Creator należy wykonać kolejno kroki:
-  - Dodać do ścieżki (zmienna środowiskowa PATH) katalog z binarkami ​mingw <​code>​sciezka/​do/​qt/​mingw/​bin</​code>​ +Dodać do ścieżki (zmienna środowiskowa PATH) katalog z binarkami ​MinGW (potrzebne do kompilacji przy pomocy gcc) <​code>​sciezka/​do/​qt/​mingw/​bin</​code>​ 
-  ​- ​Uruchomić ​ścieżkę ​poleceń (CMD) z prawami administratora +{{:​qt_creator:​adding_path.png|}} 
-  ​- ​W CMD przejść do katalogu z rozpakowanymi bibliotekami Boost i wpisać komendę, która przygotuje narzędzie do kompilacji: <​code>​bootstrap.bat</​code>​ + 
-  ​- ​Następnie uruchomić proces kompilacji z dodatkowymi parametrami:​ <​code>​bjam toolset=gcc threading=multi --build-type=complete stage install --layout=tagged >​build.log 2>&​1</​code>​ +Uruchomić ​wiersz ​poleceń (CMD) z prawami administratora: 
-  ​- ​Teraz trzeba wykazać się dużą dawką cierpliwości +W CMD przejść do <​code>​sciezka/​do/​boost/​tools/​build/​v2/​engine/​src</​code> ​i wpisać komendę, która przygotuje narzędzie do kompilacji: <​code>​build.bat gcc</​code>​ 
-  ​- ​Po zakończonej kompilacji można znaleźć log w pliku <​code>​build.log</​code>​+{{:​qt_creator:​build.png|}} 
 + 
 +Po zakończeniu kompilacji otrzymamy plik bjam.exe w katalogu: <​code>​sciezka/​do/​boost/​tools/​build/​v2/​engine/​src/​bin.ntx86</​code>​ który należy przekopiować do: <​code>​sciezka/​do/​boost</​code>​ 
 + 
 +Następnie uruchomić proces kompilacji z dodatkowymi parametrami:​ <​code>​bjam toolset=gcc threading=multi --build-type=complete stage install --layout=tagged >​build.log 2>&​1</​code>​ 
 +{{:​qt_creator:​bjam.png|}} 
 + 
 +Teraz trzeba wykazać się **dużą** dawką cierpliwości
 + 
 +Po zakończonej kompilacji można znaleźć log w pliku<​code>​build.log</​code>​ 
 +Gotowe biblioteki w katalogu: <​code>​sciezka/​do/​boost/​stage/​lib</​code>​
  
 ====== Linkowanie bibliotek Boost w QT Creator ====== ====== Linkowanie bibliotek Boost w QT Creator ======
-Po udanej kompilacji, aby podlinkować biblioteki, w pliku projektu należy dodać: <​code>​win32:​INCLUDEPATH += "E:\\Dev\\boost_1_45_0"​ +Po udanej kompilacji, aby podlinkować biblioteki, w pliku projektu należy dodać: <​code>​INCLUDEPATH += "​sciezka/​do/​boost"​ 
-win32:LIBS += -L"​E:​\\Dev\\boost_1_45_0\\stage\\lib"</​code>​+LIBS += -L"​sciezka/​do/​boost/​stage/​lib"</​code>​ 
 +Pierwszy wiersz określa nam położenie plików nagłówkowych,​ a drugi katalog z bibliotekami. 
 + 
 +Teraz jeżeli chcemy użyć w projekcie na przykład biblioteki regex, dodajemy do pliku projektu<​code>​LIBS += \ 
 +    -lboost_regex-mt</​code>​ 
 + 
 +===== Zawartość przykładowych plików ===== 
 +Plik projektu:<​code>#​------------------------------------------------- 
 +
 +# Project created by QtCreator 2010-12-30T11:​21:​05 
 +
 +#​------------------------------------------------- 
 + 
 +QT       += core 
 + 
 +QT       -= gui 
 + 
 +TARGET = BoostTest 
 +CONFIG ​  += console 
 +CONFIG ​  -= app_bundle 
 + 
 +TEMPLATE = app 
 + 
 +SOURCES += main.cpp 
 + 
 +INCLUDEPATH += "​E:​\boost_1_45_0"​ 
 +LIBS += -L"E:\boost_1_45_0\stage\lib" 
 + 
 +LIBS += \ 
 +    -lboost_regex-mt 
 +</​code>​ 
 +Plik main.cpp:<​code cpp>#​include <​iostream>​ 
 +#include <​boost/​xpressive/​xpressive.hpp>​ 
 + 
 +using namespace boost::​xpressive;​ 
 + 
 +int main() 
 +
 +    std::string hello( "hello world!"​ ); 
 + 
 +    sregex rex = sregex::​compile( "(\\w+) (\\w+)!" ​); 
 +    smatch what; 
 + 
 +    if( regex_match( hello, what, rex ) ) 
 +    { 
 +        std::cout << what[0] << '​\n';​ // whole match 
 +        std::cout << what[1] << '​\n';​ // first capture 
 +        std::cout << what[2] << '​\n';​ // second capture 
 +    } 
 + 
 +    return 0; 
 +
 +</​code>​ 
 ====== Struktura pliku projektu QT Creator (*.pro) ====== ====== Struktura pliku projektu QT Creator (*.pro) ======
 +W przypadku projektu wieloosobowego,​ może (i raczej tak będzie) przydarzyć się konflikt ścieżek do bibliotek. W takim przypadku należy dodać nowy plik, który będzie opisywał tylko **lokalne** ścieżki i nie będzie on dzielony z współpracownikami. Dodatkowo należy zadbać o pobieranie go do projektu.
 +===== Przykład =====
 +Dodajemy plik local.pro do projektu. W tym pliku umieszczamy ścieżki do bibliotek Boost w naszym systemie.
 +W oryginalnym (wspólnym pliku projektowym) dodajemy linię: <​code>​include(local.pro)</​code>​
 +W ten sposób każda osoba pracująca nad wspólnym projektem może mieć biblioteki rozmieszczone w innym miejscu w swoim systemie. Przykładowy plik projektu: <​code>#​-------------------------------------------------
 +#
 +# Project created by QtCreator 2010-12-30T11:​21:​05
 +#
 +#​-------------------------------------------------
 +
 +QT       += core
 +
 +QT       -= gui
 +
 +TARGET = BoostTest
 +CONFIG ​  += console
 +CONFIG ​  -= app_bundle
 +
 +TEMPLATE = app
 +
 +SOURCES += main.cpp
 +
 +include(local.pro)
 +
 +LIBS += \
 +    -lboost_regex-mt
 +
 +OTHER_FILES += \
 +    local.pro
 +</​code>​
 +Plik z lokalnymi ścieżkami:<​code>#​local.pro
 +
 +INCLUDEPATH += "​E:​\boost_1_45_0"​
 +LIBS += -L"​E:​\boost_1_45_0\stage\lib"</​code>​
  
- --- //​[[netczuk.tomasz@gmail.com|Tomasz Netczuk]] ​2010/12/30 00:23//+ --- //​[[netczuk.tomasz@gmail.com|Tomasz Netczuk]] ​2011/01/01 20:36//
  
ide_qt_creator.1293665074.txt.gz · ostatnio zmienione: 2010/12/30 00:24 przez tnetczuk