#c #visual-studio-2005
#c #visual-studio-2005
Вопрос:
Я переношу проект VS2010 обратно на VS2005 (не спрашивайте почему ..). В VS2010 следующее работает просто отлично:
#include <regex>
Но в VS2005 это фатальная ошибка:
fatal error C1083: Cannot open include file: 'regex': No such file or directory
Есть идеи?
РЕДАКТИРОВАТЬ: я должен добавить, что я новичок в C / VS. Если это просто не часть VS2005, я также приветствую предложения о том, что использовать в качестве библиотеки регулярных выражений.
Спасибо!
Комментарии:
1. <regex> является частью C 0x — как вы думаете, почему он должен быть в старом компиляторе C ?
2. На самом деле это происходит из TR1, так что это не невозможно.
Ответ №1:
В VS2005 его нет <regex>
. Этот заголовок является частью новых стандартных функций C , которые частично поддерживаются VS2010, но вообще не поддерживаются VS2005.
Однако <regex>
основан на boost.regex, который можно загрузить для Windows по адресу boostpro.com
Комментарии:
1. Спасибо. Есть ли простой способ просто удалить boost / regex.hpp из boost, чтобы мне не приходилось проверять всю эту библиотеку?
2. @NPike Установщик boostpro предлагает установить только избранные части boost.
3. Или используйте инструмент bcp от boost — boost.org/doc/libs/1_38_0/tools/bcp/bcp.html
Ответ №2:
Заголовок (из TR1) был добавлен в Visual Studio 2008. Посмотрите Выпуск пакета функций Visual C 2008 от MDSN, найдите regex:
Известные проблемы TR1:
TR1 состоит из новых заголовков (например, regex) и дополнений к существующим заголовкам (например, памяти).