crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Решил использовать boost::regex => получил ошибку
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
shasoft Дата 8.12.2012, 17:21
 
Цитата(Litkevich Yuriy @ 8.12.2012, 15:58) *
если используется только одна библиотека, то можно одной записью сделать
LIBS += -L$(LIBRARY_SHARE)/boost_1_52_0/mgw44/boost_regex-mgw44-mt-1_52

А по отдельности удобно, когда несколько библиотек используется из одного каталога.

Ясно. Спасибо. Я вроде пробовал так. Но наверное не "-L", а "-l" указывал.
В любом случае boost я подключил, чтобы потом его использовать. Просто до сих пор хедер-онли использовал.
Litkevich Yuriy Дата 8.12.2012, 14:58
  если используется только одна библиотека, то можно одной записью сделать
LIBS += -L$(LIBRARY_SHARE)/boost_1_52_0/mgw44/boost_regex-mgw44-mt-1_52

А по отдельности удобно, когда несколько библиотек используется из одного каталога.
shasoft Дата 8.12.2012, 12:09
  Ясно. Будем искать. Я то думал, что достаточно просто указать директорию с библиотеками.

Вот правильные строки
Цитата
INCLUDEPATH += $(LIBRARY_SHARE)/boost_1_52_0
LIBS += -L$(LIBRARY_SHARE)/boost_1_52_0/mgw44" -lboost_regex-mgw44-mt-1_52

При подключении не забудьте исправить на свою версию boost-а
Iron Bug Дата 8.12.2012, 10:31
  да, в мингве надо явно библиотеки указывать (это же gcc). не могу сказать, как это сделать в Qt, но нужно, чтобы у линковщика была строка -lboost_regex-mgw44-mt-1_52
Litkevich Yuriy Дата 8.12.2012, 0:52
  надо наверное сам файл указать.
shasoft Дата 7.12.2012, 22:45
  В .pro файле прописано:
Цитата
LIBS += -Lm:/Library.Share/boost_1_52_0/mgw44

в папке лежат библиотеки regexp
Цитата
libboost_regex-mgw44-mt-1_52.a
libboost_regex-mgw44-mt-d-1_52.a


Что ещё требуется?
igor_bogomolov Дата 7.12.2012, 21:21
  boost::regex - это собираемая библиотека, просто подключить заголовочный файл не достаточно.
Т.ч. либо доставь соответствующую библиотеку, либо собери её.
shasoft Дата 7.12.2012, 20:33
  Использовал в проекте boost (boost::geometry), нормально компилировалось и работало.
Понадобились регулярные выражения. Подключил #include <boost/regex.hpp>
Написал в коде
boost::regex *re = new boost::regex("...");

И получил ошибки:
Цитата
./debug\Match.o:Match.cpp:(.text$_ZN5boost9re_detail27cpp_regex_traits_char_layerIcEC2ERKNS0_21cpp_regex_tra
its_baseIcEE[boost::re_detail::cpp_regex_traits_char_layer<char>::cpp_regex_traits_char_layer(boost::re_detail::cpp_regex_traits_base<char> const&)]+0x21): undefined reference to `boost::re_detail::cpp_regex_traits_char_layer<char>::init()'
./debug\Match.o:Match.cpp:(.text$_ZN5boost9re_detail11raw_storage6extendEj[boost::re_detail::raw_storage::ex
tend(unsigned int)]+0x41): undefined reference to `boost::re_detail::raw_storage::resize(unsigned int)'
./debug\Match.o:Match.cpp:(.text$_ZN5boost9re_detail18basic_regex_parserIcNS_12regex_traitsIcNS_16cpp_regex_
traitsIcEEEEE4failENS_15regex_constants10error_typeEiSsi[boost::re_detail::basic_
regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::fail(boost::regex_constants::error_type, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)]+0x279): undefined reference to `boost::regex_error::regex_error(std::string const&, boost::regex_constants::error_type, int)'
...

Специалисты могут подсказать решение?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 17.1.2020, 22:45