скачал буст, есть вопросы: - не пойму как его скомпилить на mingw (винда xp) - можно ли скомпилить/подключить только regex (больше пока ничего не надо) - есть нормальный русский туториал по сборке и подключению буста к eclipse с mingw в винде?
в корне лежит booststrap.bat . его запускаешь - должен появиться bjam.exe там же в корне. дальше батник в корне типа build.bat. содержимое типа такого Code: bjam --j2 --build-dir=I:\programming\boost_1_39_0\build_dir toolset=msvc --build-type=complete stage pause соответственно пути и тулсет меняешь на свои. j2 - два ядра вроде как. stage - куда компилить. type - какие либы компилить. советую полностью компилить, во первых меньше копания в доках, во вторых - потом если захочется что нить попробовать еще из буста - не придется опять вспоминать как компилить. А подключать - добавь папку с хидерами в глобальные папки, которые по #include<> юзаются, и папку с либ файлами. В студии это пункт project directorys или как там оно. ПС. компилил хзкогда версию 1.39. в 1.4 мож че изменилось, но не думаю.
Эмм а не проще ли для парсинга использовать библиотеку PCRE ? у меня с ней сложностей не возникло да и к исходной программе она добавляет всего несколько килобайт.
toolset=gcc для mingw в tools/bcp лежит программа в исходниках и с документацией по "выкусыванию" нужной библиотеки из boost'a
bjam. да 1) Программист ОБЯЗАН знать английский. 2) Это очевидное действие. Так же, как и любую другую либу.
буст скомпилился, инклуды закинул в мингв но вот непонятно как подключить библиотеку к эклипсу в мингв/libs у меня все файлы *.a а буст скомпилил *.dll и *.lib либ не находит ld.exe: cannot find -lboost_regex-mgw34-mt.lib что делать? у меня винда компилить как-то именно libboost_regex-mgw34-mt.a или подключать libboost_regex-mgw34-mt.lib ?
просто так нельзя переименовывать. если не заметили - в имени либ файла есть сокращения типа mt итп. mt - multithreaded версия. так же дебаг версии, и сингл тред. выбор либ файла должен осуществляться автоматом в зависимости от настроек компиляции проекта. Поэтому подключать надо не конкретные файлы, а всю папку с lib файлами, чтобы линкер и компиль могли получать нужные файлы. да, еще в файле не спроста указываются циферки версии. так что подлключать нада всю директорию.
Изменяется просто расширение файла. Это из-за особенностей компилятора gcc, который думает, что библиотеки имеют расширение .a Указываешь флаг -lboost_regex-mgw34-mt.lib а ищется boost_regex-mgw34-mt.lib.a Указываешь флаг -lboost_regex-mgw34-mt ищется boost_regex-mgw34-mt.a
Когда линкуешь либу ключем -l указывается только имя либы без префикса lib и без расширения a\lib, например либа libssl.a линкуется -lssl
Поясняю. Дело в том что указан флаг компилятора -l Который указывает компилятору gcc искать библиотеку "boost_regex-mgw34-mt.lib", и которая по мнению компилятора должна лежать в файле "boost_regex-mgw34-mt.lib.a"
Извиняюсь что поднимаю старую тему... Вопрос к тем кто компилировал regex(только его) с помощью bjam... Это нормально, что при компиляции regex'a параллельно также создаются и какие-то математические библиотеки? з.ы. и сколько примерно по времени должен создаваться этот regex? я на 5 мин комп оставил, прихожу, а он все ещё штампует... з.ы.ы. может я неправильно использую bjam? Code: bjam toolset=gcc regex stage
Плохо смотрел доки... Чтобы скомпилить отдельный компонент нужно добавить ключ --with-libname Code: bjam toolset=gcc --with-regex stage http://www.boost.org/doc