2013-09-01 10 views
10

Utworzono projekt Qt w systemie Ubuntu i wszystko poszło gładko. Jednak potrzebuję również wdrożyć go w systemie Windows. Używa bibliotek Boost (duży problem).Jak skonfigurować program Qt Creator do korzystania z funkcji Zwiększ w systemie Windows

Szukałem wiele godzin, aby znaleźć rozwiązanie, ale nie miałem szczęścia. Próbowałem zainstalować biblioteki Boost i połączyć je z mingw; Chyba coś przeoczyłem. Oto co zrobiłem i pobierając najnowszą wersję.

1) prowadził \ bootstrap
2), a następnie \ b2 prefix = C:. \ Doładowania zainstalować

Niestety nie można prawidłowo zainstalować. Mam tylko 2 foldery (bin i share), ale bez nagłówków.

Jednak tutaj (http://nuwen.net/) znalazłem pakiet (Mingw + Boost i inne biblioteki). To ma wszystko, czego potrzebuję.

Teraz myślę, że problemem jest plik .pro, ponieważ mam wiele nieokreślonych odniesień. Oto plik .pro ze wszystkim, co próbowałem (kilka komentarzy): http://pastebin.com/pBFMTAd8

Twoja pomoc jest doceniana!

+0

Kilka komunikatów o błędach byłoby miło. Czy możesz potwierdzić, że twoje biblioteki boost znajdują się w C:/MinGW/lib? – Greenflow

+0

Moje złe, oto kilka błędów: http://postimg.org/image/h4vvo8mgx/9040bd30/; i tutaj jest ścieżka C: \ MinGW \ lib: http://postimg.org/image/3lw19jdt9/ad5481f9/ – Athan

+0

Widzę tylko .a boost libs. Nic z plików .pro nie oznacza, że ​​wykonujesz statyczną kompilację. Czy w tym folderze znajdują się również pliki .dll doładowania? – Greenflow

Odpowiedz

10

Sam rozwiązałem problem. I oto jak to zrobiłem. Po pierwsze, wymagana jest biblioteka boost kompilowana przy użyciu tego samego kompilatora, którego używasz z Qt.
Jeśli używasz msvc, masz szczęście, ponieważ Boostowie wyświadczyli ci przysługę i skompilowali dla ciebie biblioteki. Możesz pobrać je tutaj: http://sourceforge.net/projects/boost/files/boost-binaries/.
Jeśli używasz MinGW (który ma przyjść w pakiecie z Qt), można to zrobić:

  • add kompilator MinGW do zmiennej PATH systemu Windows:
    ~ przejść do panelu sterowania i wyszukać Systemu;
    ~ dodaj ścieżkę mingw (np. C: \ Qt \ Tools \ mingw \ bin) do zmiennej PATH, dodając ';' na swojej drodze (np: "C: \ Qt \ Tools \ MinGW \ bin")
  • kompilacji bibliotek Boost:
    ~ archiwum doładowania rozpakuj
    ~ otworzyć okno wiersza polecenia, przejdź do folderu rozpakowanym doładowania, a następnie idź w folderze tools/build/v2/engine
    ~ masz zainstalowanego instalatora z zestawem narzędzi mingw:. \ build --toolset = mingw
    ~ spowoduje to utworzenie 2 plików w folderze bin.ntx86 lub coś podobnego; skopiuj pliki bjam i b2 do rozpakowanego folderu boost;
    ~ teraz przejdź do folderu boost i zacznij budować:. \ B2 --toolset = mingw --build-type = ukończenie etapu (jest dobry tutorial do zainstalowania wraz z eclipse: http://theseekersquill.wordpress.com/2010/08/24/howto-boost-mingw/)
    uwaga: to zajmie kilka godzin, więc może chcesz oglądać film lub co chcesz zrobić w międzyczasie. Jednakże masz możliwość przyspieszenia pewnych rzeczy przez dodanie kolejnego argumentu do polecenia build: -j N, gdzie N to liczba rdzeni twojego procesora.
  • Po zakończeniu kompilacji można teraz połączyć bibliotekę w Qt. Aby to zrobić, musisz zmodyfikować plik .pro. Najpierw musisz powiedzieć Qt, gdzie znajdują się nagłówki, a zrobisz to, dodając:
    INCLUDEPATH + = path_to_boost_folder, np. : INCLUDEPATH + = C:/boost_1_54_0
    ~ również jeśli używasz bibliotek, które wymagają łącza, na przykład system i system plików, musisz połączyć je osobno:
    LIBS + = "C:/boost_1_54_0/stage/lib/libboost_filesystem -mgw48-1_54.a ",
    LIBS + =" C: /boost_1_54_0/stage/lib/libboost_system-mgw48-1_54.a "
  • po zmodyfikowaniu pliku .pro, uruchom qmake, a następnie przebuduj.

Mam nadzieję, że to zadziała również dla Ciebie!

Aktualizacja: Hierarchia folderów uległa zmianie. Aby zbudować bibliotekę, należy przeczytać dokumentację związaną z każdą wersją i Boost.Build's documentation. Tworzenie biblioteki z folderu głównego jest łatwiejsze (Building Boost 1.52 with MinGW):

C:\boost_1_60_0> bootstrap.bat mingw 
C:\boost_1_60_0> .\b2 --toolset=gcc -j N --build-type=complete 
0

Zwiększenie budynku nie spowoduje umieszczenia nagłówków, nagłówki są dla programisty, gdy tworzy nowy kod. Zainstalowane katalogi to pliki binarne do dystrybucji.

zobaczyć http://www.boost.org/doc/libs/1_54_0/more/getting_started/windows.html#prepare-to-use-a-boost-library-binary

to zainstaluje biblioteki, który używasz w czasie wykonywania (nie kompilacji). Ponieważ dodajesz ten folder bin do ścieżki i dlatego uruchamiając kompilację aplikacji z doładowaniem, uruchomi się i nie powie "nie można znaleźć xxx.dll"

Powiązane problemy