tfussell / xlnt

:bar_chart: Cross-platform user-friendly xlsx library for C++11+
Other
1.47k stars 415 forks source link

parser.cxx #737

Open nbyzsjw opened 4 months ago

nbyzsjw commented 4 months ago

The parser.cxx file cannot be found. Can you provide it?

doomlaur commented 4 months ago

While you did not provide many details about the exact error message, my guess is that you have issues with the XML parser used by XLNT, libstudxml. This external library has been included in the XLNT repository as a Git Submodule.

In other words, in order to clone XLNT together with libstudxml you need to do one of the following:

  1. Either clone XLNT using git clone --recurse-submodules https://github.com/tfussell/xlnt.git
  2. Or clone as usual and (especially useful if you already cloned the repository), go to third-party/libstudxml and call: git submodule update --init
  3. Or, if you want this to happen automatically in the future, set git config --global submodule.recurse true in your global Git settings (or, alternatively, without --global to only do it in the current repository).
yeLer commented 2 months ago

download from this repo https://github.com/kamxgal/libstudxml

doomlaur commented 2 months ago

download from this repo https://github.com/kamxgal/libstudxml

In general, due to compatibility reasons, I recommend against using this solution, as the Git Submodule used by XLNT points to an exact commit which might differ than the latest commit that you might clone (due to the fact that libstudxml did not receive many commits in the last couple of years, it does not matter much in this case, but in general it might make a big difference for other repositories).

Furthermore, here you can find the official libstudxml repository, and here you can find the official website. The repository you posted is just a mirror (so it's not an issue), but in general, other repositories and forks might be out of date or - due to further development - be incompatible with the original one, so it's always better to simply use whatever XLNT set in its submodule.

In other words, I recommend using the solution I posted above rather than relying on workarounds.