Boost.Regex с поддержкой icu / unicode

Как собрать Boost.Regex с поддержкой icu / unicode? Мой компилятор — GCC, а IDE — Eclipse C ++. Как настроить бинарные файлы с Eclipse?
Я пытался сделать это «bjam —sHAVE_ICU = 1 toolset = gcc». Но это не сработало.
Когда я проверяю, включена ли поддержка icu с помощью «bjam -has_icu», я все равно получаю «имеет сборки icu: нет».

5

Решение

Я строю Boost против ICU, используя -sICU_PATH=<icuRoot> а также -sICU_LINK="-L<icuLibDir>",

Я видел, что Boost не может правильно определить ICU, и мне нужно было исправить файл has_icu_test.cpp (просто вернуть 0 из функции main ()). Это будет работать, если вы знаете, что все остальное настроено правильно.

5

Другие решения

Бегемоты и Джаггернауты

На некоторых Unix это работало для меня:

./b2 link=static,shared -sICU_PATH=/usr/local install

В указанной системе заголовки ICU установлены в /usr/local/include и библиотеки ICU в /usr/local/lib

Чтобы проверить, установлены ли у вас заголовки ICU (скажем, в /usr/local/include) посмотреть, если реж /usr/local/include/unicode/ существует и содержит много заголовочных файлов (например, symtable.h)

Заметка что, когда я последовал общему совету от тогда чистого и прошел -sICU_LINK='-L/usr/local/lib' повысить b2Обнаружение ICU (версии 1.62 и 1.63) не удалось.

В предыдущем ответе пользователь «NuSkooler» упоминает о том, что исправление файла надстройки has_icu_test.cpp просто return 0; Короткие замыкания в тесте и повышении верят в то, что с ICU все генно и идет дальше.

тем не мение убедитесь, что вы также удалять все связанные с ICU вызовы функций и файлы заголовков из этого файла, потому что обычно это тот случай, когда has_icu_test.cpp Сначала не удается скомпилировать или связать, потому что библиотеки ICU или заголовочные файлы не могут быть найдены внутренними компонентами Boost.

Со всем этим я могу подтвердить, что Aegisub’s configure сейчас проходит тест ICU для меня.

(и все это потому, что Джон Херт, к сожалению, умер, и я попытался вставить субтитры в клип Heaven's Gate подарить другу)

б.

0

По вопросам рекламы [email protected]