[C++/Qt] boost.regex i gcc w systemie windows

0

cześć,

od kilku dni nie mogę uporać się z następującym problemem - nie potrafię użyć boost.regex w systemie windows. w linuxie jest prosto - boost już jest, dodaję opcje linkera -lboost_regex i śmiga. natomiast pod windowsem nie mogę skompilować najprostszego programu :/ proszę o pomoc.

powiem jeszcze czego próbowałem:

  1. zapoznałem się z tym: http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html, ściągnąłem i zainstalowałem boosta.

  2. zbudowałem regex przez make, próbowałem przez bjam, ale cały czas jest ten sam błąd linkera:

error: collect2: ld returned 1 exit status

dodam tylko, że program robię w Qt i dodaję w pliku projektu *.pro linie

INCLUDEPATH += C:\Qt\2009.01\lib\boost\boost_1_38

ale nawet jak próbuję skompilować najprostszy program to mam problem.

czy ktoś zmagał się już z podobnym problemem? proszę o pomoc

0

Ale kombinujesz. Po co stosujesz boosta jeśli daną funkcjonalność masz już w Qt?
masz QRegExpr i QRegExpValidator, więc boost nie jest ci potrzebny.

0

wiem, ale zrobiłem program konsolowy używający boosta, a teraz chciałem go zintegrować z gui w Qt

ponieważ nie można edytować postów pisze jeden pod drugim. znalazłem rozwiązanie, a że może się kiedyś komuś przydać to zamieszczam:

ściągnąłem i zainstalowałem <url>http://ascendwiki.cheme.cmu.edu/Binary_installer_for_Boost_on_MinGW </url> tylko ważne żeby zainstalować w katalogu o nazwie niezawierającej spacji (w moim przypadku C:\Qt\2009.01\lib).

dołączyłem w pliku projektu Qt linie porwacące do katalogu z includami oraz drugą wskazującą na bibliotekę regexów:

INCLUDEPATH += C:\Qt\2009.01\lib\boost\include
LIBS += -LC:\Qt\2009.01\lib\boost\lib -lboost_regex-mt

pzdr.
ale jestem happy <rotfl>

0

brzydko to wygląda. Qt jest po to by wszystko bybło przenośne, a ten katalog z "C:" aż straszy.
Powinieneś raczej zastosować zmienną Qt: $$[QT_INSTALL_LIBS].

0

nie wiedziałem, że taka zmienna istnieje. dopiero uczę się Qt ale dzięki!

0

wiem, że temat odkopuję po paru latach, ale nie chcę zakładać nowego - zwłaszcza, że problem pewnie banalny. Mianowicie w pierwszym poście jest zwrot "w linuxie jest prosto - boost już jest, dodaję opcje linkera -lboost_regex i śmiga"
I właśnie ja mam tu problem.
Doinstalowałem do ubuntu bibliotekę boost, jednak jak w projekcie dodaję linijkę LIBS += -lboost_regex to wyświetla mi się błąd "cannot find -lboost_regex"
Może ktoś w prostych słowach wyjaśnić jak to należy zaimplementować ? :)
Pozdrawiam

1

Sprobuj podac pelna sciezke do biblioteki. Mi np. nie wiem czemu kiedy podam sciezke do katalogu z boostem to nie dziala i wywala wlasnie taki blad. Musze przekopiowac libke do katalogu ze zrodlami i tam podac do niej sciezke zeby poszlo.

Sprobuj po prostu tak zrobic i dopisac LIBS += /usr/xxx/.../nazwa.lib
wczesniej dopisz tez includepath do katalogu boost zeby .hppki dzialaly.

1 użytkowników online, w tym zalogowanych: 0, gości: 1