Основная задача < /h2>
У меня есть проблема для правильной настройки аппликации, поэтому можно применять кодирование UTF-8 для повышения :: FileSystem :: Path :: Imbue < /code>.
Code работает на любой платформе при строительстве на этой конкретной платформе. Проблема появляется при обертывании приложения на Ubuntu 24.04 с Clang-18 с Appimage. Это приложение работает на большинстве распределений и не работает на CentOS 7.9. < /P>
CPP-код < /h2>
Код: Выделить всё
#include
#include
#include
void setupGlobalCppLocale()
try
{
auto utf8Locale = std::locale{std::locale::classic(), new boost::program_options::detail::utf8_codecvt_facet{}};
std::locale::global(utf8Locale);
std::cout
Предполагается, что для работы без проблем на нескольких распределениях Linux: Redhat Enterprise Linux (RHEL) 7.9+, CentOS 7.9+, Ubuntu 18.04+, Debian 10+, SUSE Linux Enterprise Server (SLE) 15, Oracle Linux 8, Amazon Linux 2, Amazon Linux 2023, Alma Linux 8+, Rocky Linux 8+, Linux Mint 20+. И у меня нет (почти) жалоб. < /P>
Проблема появляется только на CentOS 7.9+ (я воспроизводил проблему в моей виртуальной машине).
Исключено, в журналах я могу Смотрите: < /p>
$ strace -o strace_logs_centos.txt ./experiment_locale-1.0.0-x86_64.AppImage
Globa locale set succesfully
Setup boost::filesystem::path::imbue...
Failed to configure global locale: locale::facet::_S_create_c_locale name not valid
Так проблема не является самой пользовательской локали, но способ Boost пытается использовать его.
Так почему это терпит неудачу? И как я могу это исправить? находится в форме ссылок, но поэтому был достигнут ограничение размера вопросов): < /p>
Приложение создается и работает на Centos с успехом. < /li>
Приложение строится на Ubuntu и развернуто, поскольку Appimage to centos не может настроить Imbue для пути усиления. < /li>
< /ul>
Я не могу найти в журналах Подсказка для решения. Я пробовал несколько изменений в определение аппарата без удачи. Результат всегда одинаковый (или хуже - у меня даже одинаковый результат на Ubuntu).
Подробнее здесь: https://stackoverflow.com/questions/794 ... -on-centos
Мобильная версия