Почему Xsd не может загрузить сервис транскодирования?

Я использую CodeSynthesis XSD (инструмент привязки данных XML для C ++) для автоматической генерации файлов .hpp и .cpp из файла .xsd. Но при запуске xsd над моим файлом .xsd я получаю эту ошибку:

Could not load a transcoding service

Я использую openSUSE Leap-42.2, Xsd 4.0 и Apache Xercess 3.1.4. Вот подробное сообщение:

Scanning dependencies of target XSDModel
[  2%] Generating C++/XML mapping
Could not load a transcoding service
lib/CMakeFiles/XSDModel.dir/build.make:51: recipe for target 'src/model/Model.cpp' failed
make[2]: *** [src/model/Model.cpp] Error 255
CMakeFiles/Makefile2:76: recipe for target 'lib/CMakeFiles/XSDModel.dir/all' failed
make[1]: *** [lib/CMakeFiles/XSDModel.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
[  2%] Generating C++/XML mapping
Could not load a transcoding service
lib/CMakeFiles/XSDModel.dir/build.make:51: recipe for target 'src/model/Model.cpp' failed
make[2]: *** [src/model/Model.cpp] Error 255
CMakeFiles/Makefile2:76: recipe for target 'lib/CMakeFiles/XSDModel.dir/all' failed
make[1]: *** [lib/CMakeFiles/XSDModel.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Изменить 1:
Я построил Apache Xercess с --enable-transcoder-gnuiconvпереключатель и iconv также установлен на моей машине.

Изменить 2:
После некоторых раскопок я обнаружил, что echo $LANG Команда на моем Linux печатает пустую строку. Кроме того, работает localedef -i en_US -f UTF-8 en_US.UTF-8печатает эту ошибку:

character map file `UTF-8' not found: No such file or directory
cannot read character map directory `/usr/share/i18n/charmaps': No such file or directory

0

Решение

В этом linux не определено ни одной локали. Итак, просто установите локаль:

$ export LANG=LANG=en_US.UTF-8

и после этого все будет хорошо.

0

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

Других решений пока нет …