2017-03-31 452 views
0

我正在使用CodeSynthesis XSD(用於C++的XML數據綁定工具)從.xsd文件自動生成.hpp和.cpp文件。爲什麼Xsd無法加載代碼轉換服務?

Could not load a transcoding service 

我使用openSUSE的跨越式42.2,XSD 4.0和Apache 3.1.4 Xercess:但在我的.xsd文件運行時XSD,我得到這個錯誤。下面是詳細信息:

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: 一些挖後,我發現,在我的Linux的echo $LANG命令打印一個空行。另外,運行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上沒有定義locale。所以,只需設置一個區域:

$ export LANG=LANG=en_US.UTF-8 

然後,一切都會好起來的。