Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ boost _ boost + Qt Creator

Автор: edwardoid 14.1.2010, 0:33

Скачал я boost. Распаковал. И вроде путь прописал, но Qt Creator его никак не видит. Т.е. видит файл, если подключу, но я не могу ни Follow сделать и посмотреть содержание файла, ни пользоваться аутокомплитом. Как понимаете так невозможно нормально кодить. Потому не моги бы вы помочь мен с этим разобраться?
Qt Creator и boost у меня последних версий.
OS: MS Vista

Автор: kilkinenator 13.2.2010, 13:26

хочу присоедениться к вопросу.
собираюсь использовать boost::asio. покачто хотел посмотреть пример из документации. пример представляет собой один файлик. автокомплит не работает, пример не собирается

форумчане, поделитесь опытом. как использовать буст в КуТэ???

Автор: kilkinenator 13.2.2010, 23:54

вопрос снят)

Автор: ViGOur 14.2.2010, 11:50

Как сделал хоть напиши! :)

Автор: kilkinenator 14.2.2010, 12:38

Цитата(ViGOur @ 14.2.2010, 11:50) *
Как сделал хоть напиши! :)


ну... как сказать. толком ничего не сделал, понял что оффтоп получается.
1. автокомплит. автокомплит заработал, в чем было дело я так и не понял, толи я тупил, толи есть некоторая инертность
2. обилие ошибок компиляции. вот тут вот уже и получится оффтоп. собирал я пример asio, до сих пор не собрал...
это вопрос работы с asio и mingw, asio позиционируется как хидер онли библиотека, но на чтото опирается. так у меня появились уже другие вопрос
- что это "чтото" чего нужно для asio?
- как это "чтото" собрать?
- как это что-то прикрутить?

Автор: ViGOur 14.2.2010, 14:01

Для нормальной компиляции asio нужно собрать сам буст и asio, после чего компилить.
Я собирал boost make'ом и bjam'ом. Make'ом не помню как, а с помощью bjam так:

bjam --with-system --with-thread --with-date_time --with-regex --with-serialization stage

и все нормально компилилось...

Соостветственно у тебя должен быть скачан bjam.

Автор: kilkinenator 14.2.2010, 15:51

я собирал bjam'ом по инструкции из getting started, с ключиком gcc. получил кучу .lib))
правильно ли я правильно понимаю, что в проекте мне надо сделать LIBS +=xxx.lib???
а какие .lib надо для asio?

Автор: ViGOur 14.2.2010, 16:42

Ты откуда брал bjam?
Попробуй отсюда: http://sourceforge.net/projects/boost/files/boost-jam/, там есть для винды батник, для сборки bjam'а.

http://www.boost.org/doc/libs/1_35_0/doc/html/jam/building.html

Автор: kilkinenator 16.2.2010, 19:15

если кому интересно, то проблему я решил:
1. сборка boost'a.
в архиве версии 1.42 лежали исхлдники bjam'а, поэтому больше ничего не качал
чтобы работать с QT нужно указать правильный компилятор при сборке
этап первый: сборка bjam

CODE
SET MINGWDIR=c:\Qt\2009.05\mingw\bin\
SET BOOSTDIR=c:\boost\boost_1_42_0\

SET PATH=%MINGWDIR%;PATH
CD %BOOSTDIR%\tools\jam\src\
build.bat gcc
COPY "%BOOSTDIR%\tools\jam\src\bin.ntx86\bjam.exe" "%BOOSTDIR%\bjam.exe"

этап второй: собственно сборка boost'а
CODE
SET BOOSTDIR=c:\boost\boost_1_42_0\
SET MINGWDIR=c:\Qt\2009.05\mingw\bin\

SET PATH=%BOOSTDIR%;%MINGWDIR%;PATH
CD %BOOSTDIR%
bjam --build-dir=%BOOSTDIR% toolset=gcc --build-type=complete stage

2. подключение всей этой красоты к проекту Qt.
CODE
INCLUDEPATH += c:/boost/boost_1_42_0
LIBS += c:/boost/boost_1_42_0/stage/lib/libboost_system-mgw44.lib

win32:LIBS += -lsetupapi
win32:LIBS += -lwsock32
win32:LIBS += -lws2_32

win32:DEFINES += _WIN32_WINNT=0x0501

стоит заметить, что последние 4 строки нужны для boost::asio

вот и все)

Автор: niXman 19.2.2010, 0:04

выложил собранный буст для мингв и микрософтстудии: http://rghost.ru/1000037

Автор: gusev.danil 27.3.2010, 10:46

Большое спасибо автору батников.
В первом батнике предпоследнюю строчку лучше исправить на call build.bat gcc т.к. наш любимый виндовс не передает управление после вызова батника и последняя строчка (копи) не отрабатывает.

Автор: nimrod 2.6.2010, 20:03

Спасибо kilkinenator, что довёл всё до логического финала.
Редко кто разобравшись сам в проблеме, выкладывает её решение.
Спасибо за это! :clapping:

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)