Где находится в Visual Studio 2005?

#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) и дополнений к существующим заголовкам (например, памяти).