c++ 运行从数据绑定器生成的LiquidXML代码在运行时产生“版本不匹配错误

zd287kbt  于 2023-08-09  发布在  其他
关注(0)|答案(1)|浏览(93)

我正在使用LiquidXML开发一个小的示例应用程序。我有一个XSD文件,它已经被Liquid XML Data Binder转换成了C++类。我以前见过Liquid代码的例子,但没有亲自使用过,我的特定类(从团队成员那里获得)在运行时遇到任何Liquid代码时都会抛出错误:

try {

  ns::FileTypePtr pointer = ns::FileType::CreateInstance();

  pointer->ToXmlFile("C:/tmp/test.xml");

} catch (LtXmlLib17::CLtException e) {
  std::cout << e.GetFullMessage() << std::endl;
}

字符串
运行上面的代码无法创建XML文件,并产生以下错误:
第一个月
我以前从未遇到过这个错误,也没有生成C类,所以我不知道XML数据绑定器中有哪些选项可用。* 我们是否未能正确生成C类,因此生成的代码与运行时不匹配?***
我试着重新生成我们的C++类。我试着咨询其他有更多实践经验的人。我从Liquid XML的网站(https://www.liquid-technologies.com/)和Web上的文章(包括StackOverflow)中查找了有关Liquid XML的文档。我参考了过去看到的其他工作代码示例,并尝试用几种不同的方法初始化代码,不幸的是,总体结果相同。
~
任何关于运行时和生成器的信息都是有帮助的。如有需要,我可以就我们如何运作这方面提供广泛的资料,但我相信这已超出这个问题的范围。

daolsyd0

daolsyd01#

您需要使用与代码生成器包含在同一安装中的运行时文件。
如错误所示,代码是用v17.0生成的,但您正在从v17.1安装中链接到运行时文件。
如果您购买了许可证,则可以在登录后下载所有历史版本。
如果你只有一个小项目,你可以使用免费的社区许可证,只需从Liquid XML download page下载最新版本并使用它。

相关问题