Как собрать Boost.Regex с поддержкой icu / unicode? Мой компилятор — GCC, а IDE — Eclipse C ++. Как настроить бинарные файлы с Eclipse?
Я пытался сделать это «bjam —sHAVE_ICU = 1 toolset = gcc». Но это не сработало.
Когда я проверяю, включена ли поддержка icu с помощью «bjam -has_icu», я все равно получаю «имеет сборки icu: нет».
Я строю Boost против ICU, используя -sICU_PATH=<icuRoot>
а также -sICU_LINK="-L<icuLibDir>"
,
Я видел, что Boost не может правильно определить ICU, и мне нужно было исправить файл has_icu_test.cpp (просто вернуть 0 из функции main ()). Это будет работать, если вы знаете, что все остальное настроено правильно.
На некоторых 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
подарить другу)
б.