我正在使用 CodeSynthesis XSD(用于 C++ 的 XML 数据绑定工具)从 .xsd 文件中自动生成 .hpp 和 .cpp 文件。但是在我的 .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:
我已经用--enable-transcoder-gnuiconv
switch 构建了 Apache Xercess,并且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