Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 178

Библиотека icu - ошибка компиляции

25.05.2012, 22:58. Показов 2338. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вечер добрый!
Подключил хидер <boost/regex/icu.hpp> (RS 2010) для работы с регулярными выражениями в Юникоде. Код функции:

C++
1
2
3
4
5
6
7
8
#include <boost/regex/icu.hpp>
 
UnicodeString reg_replace(UnicodeString content_p, UnicodeString pattern_p, UnicodeString replacement_p) {
 
    boost::u32regex pattern = boost::make_u32regex(pattern_p);
    return boost::u32regex_replace(content_p, pattern, replacement_p);
 
}
При компиляции происходит ошибка "Unable to open include file 'unicode/utypes.h'". То есть нет соответствующего файла. boost входит в стандартную поставку рад студии, поэтому странно почему не хватает файлов для работы библиотеки. Не подскажите как устранить эту проблему. Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.05.2012, 22:58
Ответы с готовыми решениями:

ICU - International Components for Unicode (библиотека для раб. с юникод)
господа программисты у меня к вам вопрос Скачал Отсюда исходники ICU для работы с Юникод. Собрал их с помощью vss. В Borland е указал...

Не найденна библиотека при компиляции
ос elementary os freya qt качал с оф. сайта при компиляции проекта выдаёт следующие ошибки помогите, что делать? дело в...

Библиотека, что включается при компиляции в исполнимый модуль
Есть такой вопросик, имеется статическая библиотека которая имеет 2 функции, есть исходник который использует одну функцию этой библиотеки,...

9
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.05.2012, 23:04
Ну думаю нечего странного по тому как Builder потдерживает лишь часть библиотек boost,
Причем обычно c Builder-ом идет устаревший boost (в 2009- 1.35).

И сомневаюсь что для Builder-a специально будут писать boost потдерживающий тип UnicodeString который есть только Builder-e
1
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 178
26.05.2012, 08:20  [ТС]
Avazart, Да, написали вот для непосредственной поддержки UnicodeString:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
UnicodeString extract_greek(const UnicodeString& text)
{
   // searches through some UTF-16 encoded text for a block encoded in Greek,
   // this expression is imperfect, but the best we can do for now - searching
   // for specific scripts is actually pretty hard to do right.
   //
   // Here we search for a character sequence that begins with a Greek letter,
   // and continues with characters that are either not-letters ( [^[:L*:]] )
   // or are characters in the Greek character block ( [\\x{370}-\\x{3FF}] ).
   //
   boost::u32regex r = boost::make_u32regex(L"[\\x{370}-\\x{3FF}](?:[^[:L*:]]|[\\x{370}-\\x{3FF}])*");
   boost::u16match what;
   if(boost::u32regex_search(text, what, r))
   {
      // extract $0 as a CString:
      return UnicodeString(what[0].first, what.length(0));
   }
   else
   {
      throw std::runtime_error("No Greek found!");
   }
}
http://www.boost.org/doc/libs/... ex_replace
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.05.2012, 16:08
Тогда непонятно почему не работает...

Добавлено через 3 минуты
У меня Builder2009 поискал в его папках - не нашел такого файла utypes.h его просто нет.
За то такой файл нашелся в QtSDK.
0
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 178
26.05.2012, 16:09  [ТС]
Avazart, Не работает у меня. Так как библиотека ICU (часть boost) установлена не вся. Я поэтому и спрашиваю, как доработать boost напильником. Скачал исходники ICU, но пока не понятно как их откомпилировать и куда выложить, чтобы заработало под борландом.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.05.2012, 16:12
Я устанавливал инсталятором для VC++ и прописывал пути в Builder-е -работало.
Но если такое писалось специально для Builder-a то врятле оно есть в основном пакете...
0
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 178
26.05.2012, 16:12  [ТС]
http://sourceforge.jp/projects... fulllist=1 - Тут добрый китаец выложил все исходники ICU. Скачал icu4c-4_8_1-src.zip, но что дальше с этим добром делать - тёмный лес.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.05.2012, 16:35
Проверил его там тоже нет.( в той папке куда инсталил новый boost инсталятором)

Добавлено через 20 минут
Скачал от туда icu4j-4_8_1_1.tgz там тоже нет utypes.h
0
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 178
26.05.2012, 16:37  [ТС]
Avazart, Да, там тоже его нет. Возможно, что этот файл генерится при инсталляции-компиляции библиотеки.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.05.2012, 17:16
В папке с проинсталиным boost-ом
Code
1
C:\Program Files\boost\boost_1_47\libs\regex\example\
Нашел примеры использования- там какие то хитрые обьявления....

Добавлено через 7 минут
#include <unicode/utypes.h>
#include <unicode/uchar.h>
#include <unicode/coll.h>
Поидее должны лежать в папке unicode
Имея расширение h - врятли генирятся при компиляции

Добавлено через 15 минут
Нашел вот что
http://icu-project.org/apiref/icu4c/index.html
http://opensource.apple.com/so... e/utypes.h
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2012, 17:16
Помогаю со студенческими работами здесь

Icu итератор
Здравствуйте. Подскажите как с помощью icu проитерировать посимвольно UnicodeString и на выходе получить то, что сразу можно в обычный...

qt без icu. Как?
Проблема в том что написал на QT маленький недоплеер а он занимает 36мб. Что это за библиотека ICU? И можно ли отучить QT от неё и от...

Как правильно собрать ICU для g++ под Windows?
Не получается собрать ICU для компилятора g++ 4.8.2. Делаю через MSYS. Мои команды: Всегда получаю одно и тоже самое: Как правильно...

Как включить поддержку ICU в System.Data.SQLite ?
Это повтор моей темы из рассылки sqlite http://sqlite.1065341.n5.nabble.com/ Как включить поддержку ICU в System.Data.SQLite ? Мне...

Ошибка при компиляции. Где ошибка? (Работа с классом)
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to `MeterNZiF::MeterNZiF()' &quot; на 7 строку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru