I am developing a small sample application using LiquidXML. I have an XSD file which has been transformed into C++ classes by the Liquid XML Data Binder. I have seen examples of Liquid code working in the past, but not used it personally, and my specific classes (obtained from a team member) throw an error as soon as any Liquid code is encountered at runtime:
try {
ns::FileTypePtr pointer = ns::FileType::CreateInstance();
pointer->ToXmlFile("C:/tmp/test.xml");
} catch (LtXmlLib17::CLtException e) {
std::cout << e.GetFullMessage() << std::endl;
}
Running the code above fails to create the XML File and produces the following error:
Wrong Version (Liquid Runtime: v17.1, Generator: v17.0)
I've never encountered this error before, nor did I generate the C++ classes so I have no idea what options may have been available in the XML Data Binder. Did we fail to generate the C++ classes correctly, and hence our generated code doesn't match the runtime?
I have tried getting our C++ classes regenerated. I have tried consulting with other folks who have more hands-on experience. I have looked up documentation on Liquid XML from both their website (https://www.liquid-technologies.com/) and from articles available on the web (including from StackOverflow). I have consulted other examples of working code that I've seen in the past, and tried initializing my code in several different ways, unfortunately to the same overall result.
~
Any information that could be provided about the runtime vs the generator would be helpful. I can provide broad information on how we are running this, if required, but I believe that is outside the scope of this problem.
You need to use the Runtime files that were included in the same installation as the code generator.
As the error suggests, the code was generated with v17.0, but you are linking to the Runtime files from the v17.1 install.
If you purchase a license, you can download all the historic versions after you sign in.
If you only have a small project, you can use the free community license and simply download the latest version from the Liquid XML download page and use that instead.