![]() |
подключение boost и в частности regex
скачал буст, есть вопросы:
- не пойму как его скомпилить на mingw (винда xp) - можно ли скомпилить/подключить только regex (больше пока ничего не надо) - есть нормальный русский туториал по сборке и подключению буста к eclipse с mingw в винде? |
в корне лежит booststrap.bat . его запускаешь - должен появиться bjam.exe там же в корне. дальше батник в корне типа build.bat. содержимое типа такого
Код:
bjam --j2 --build-dir=I:\programming\boost_1_39_0\build_dir toolset=msvc --build-type=complete stageА подключать - добавь папку с хидерами в глобальные папки, которые по #include<> юзаются, и папку с либ файлами. В студии это пункт project directorys или как там оно. ПС. компилил хзкогда версию 1.39. в 1.4 мож че изменилось, но не думаю. |
Эмм а не проще ли для парсинга использовать библиотеку PCRE ? у меня с ней сложностей не возникло да и к исходной программе она добавляет всего несколько килобайт.
|
toolset=gcc для mingw
в tools/bcp лежит программа в исходниках и с документацией по "выкусыванию" нужной библиотеки из boost'a |
Цитата:
|
Цитата:
Цитата:
Цитата:
2) Это очевидное действие. Так же, как и любую другую либу. |
Цитата:
|
поздно, уже скомпилил) подключаю
|
буст скомпилился, инклуды закинул в мингв
но вот непонятно как подключить библиотеку к эклипсу в мингв/libs у меня все файлы *.a а буст скомпилил *.dll и *.lib либ не находит ld.exe: cannot find -lboost_regex-mgw34-mt.lib что делать? у меня винда компилить как-то именно libboost_regex-mgw34-mt.a или подключать libboost_regex-mgw34-mt.lib ? |
Цитата:
Код:
ren *.lib *.a |
просто так нельзя переименовывать. если не заметили - в имени либ файла есть сокращения типа mt итп. mt - multithreaded версия. так же дебаг версии, и сингл тред. выбор либ файла должен осуществляться автоматом в зависимости от настроек компиляции проекта. Поэтому подключать надо не конкретные файлы, а всю папку с lib файлами, чтобы линкер и компиль могли получать нужные файлы.
да, еще в файле не спроста указываются циферки версии. так что подлключать нада всю директорию. |
Цитата:
Указываешь флаг -lboost_regex-mgw34-mt.lib а ищется boost_regex-mgw34-mt.lib.a Указываешь флаг -lboost_regex-mgw34-mt ищется boost_regex-mgw34-mt.a |
ну если посмотреть на описание ошибки, которое дикс дал выше, то ищется как раз lib файл, а не "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? Код:
bjam toolset=gcc regex stage |
Цитата:
И у меня так и не получилось вытащить один регексп,все равно компилился весь,игнорировал команды. |
Понятно, спасибо за информацию.
... у меня 1 гиг, так что пойду отдохну часок другой от компа ^^ ... |
Плохо смотрел доки...
Чтобы скомпилить отдельный компонент нужно добавить ключ --with-libname Код:
bjam toolset=gcc --with-regex stageЦитата:
|
| Время: 08:59 |