Narzędzia użytkownika

Narzędzia witryny


ide_qt_creator

Wstęp

Opis QT Creator

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

Przy tworzeniu tego samouczka użyłem:

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:

Ścieżka do instalacji QT Creator:

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: Dodać do ścieżki (zmienna środowiskowa PATH) katalog z binarkami MinGW (potrzebne do kompilacji przy pomocy gcc)

sciezka/do/qt/mingw/bin

Uruchomić wiersz poleceń (CMD) z prawami administratora: W CMD przejść do

sciezka/do/boost/tools/build/v2/engine/src

i wpisać komendę, która przygotuje narzędzie do kompilacji:

build.bat gcc

Po zakończeniu kompilacji otrzymamy plik bjam.exe w katalogu:

sciezka/do/boost/tools/build/v2/engine/src/bin.ntx86

który należy przekopiować do:

sciezka/do/boost

Następnie uruchomić proces kompilacji z dodatkowymi parametrami:

bjam toolset=gcc threading=multi --build-type=complete stage install --layout=tagged >build.log 2>&1

Teraz trzeba wykazać się dużą dawką cierpliwości.

Po zakończonej kompilacji można znaleźć log w pliku:

build.log

Gotowe biblioteki w katalogu:

sciezka/do/boost/stage/lib

Linkowanie bibliotek Boost w QT Creator

Po udanej kompilacji, aby podlinkować biblioteki, w pliku projektu należy dodać:

INCLUDEPATH += "sciezka/do/boost"
LIBS += -L"sciezka/do/boost/stage/lib"

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:

LIBS += \
    -lboost_regex-mt

Zawartość przykładowych plików

Plik projektu:

#-------------------------------------------------
#
# 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

Plik main.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;
}

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ę:

include(local.pro)

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:

#-------------------------------------------------
#
# 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

Plik z lokalnymi ścieżkami:

#local.pro

INCLUDEPATH += "E:\boost_1_45_0"
LIBS += -L"E:\boost_1_45_0\stage\lib"

Tomasz Netczuk 2011/01/01 20:36

ide_qt_creator.txt · ostatnio zmienione: 2011/01/01 20:39 przez tnetczuk