es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problemas al construir la biblioteca XLNT para Visual Studio 2017.

Estoy teniendo problemas para construir la biblioteca XLNT (https://github.com/tfussell/xlnt) en Visual Studio 2017, y estoy confundido. Descargué la última versión de la biblioteca y la última versión de CMake. Cuando ejecuté la interfaz gráfica de CMake, no pudo encontrar los archivos de libstudxml. En un mensaje se dijo que era necesario descargar esos archivos, así que descargué esa biblioteca (https://www.codesynthesis.com/projects/libstudxml/#download) y la coloqué en terceros/libstudxml.

Luego obtuve errores que indicaban que no se encontraban algunos archivos .hxx en libstudxml. Encontré este artículo, https://discourse.cmake.org/t/cmake3-20-cant-generate-xint-package/2987, que decía que debía reemplazar libstudxml en algunas rutas del archivo libstudxml.build\CMakeLists.txt por solo xml. Luego todavía no podía encontrar estos tres archivos .hxx (content.hxx, exception.hxx y forward.hxx). Miré en la carpeta libstudxml/xml (estaban todos allí pero sin extensión). Cambié el archivo CMakeLists.txt para que no tuviera la extensión .hxx y CMake pudo generar.

Cuando intenté compilarlo en Visual Studio (haciendo clic en Project en la interfaz gráfica de CMake), obtuve errores que indicaban que algunos archivos no podían encontrar el archivo content.hxx nuevamente y fallaron las compilaciones. Estoy dando vueltas en círculos. Para hacer que CMake genere, tuve que quitar las extensiones .hxx, pero luego algunos archivos se quejaban porque las estaban buscando. Intenté dejar los tres archivos sin la extensión y quitar las extensiones del archivo CMakeLists.txt, pero luego algunos archivos estaban buscando los archivos sin la extensión. Dejar los archivos tanto con como sin la extensión también fue un caos. Entiendo que C++ puede manejar archivos de encabezado sin extensión, pero el archivo CMake parece querer la extensión, aunque no creo que Visual Studio esté contento con eso.

Además, aunque tuve que cambiar el nombre de la carpeta a xml en lugar de libstudxml para CMake, varios archivos de inclusión en el código fuente siguen buscando libstudxml; así que eso no funciona.

¿Alguna idea?

Gracias,

Al

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Estimado Al,

    Gracias por contactarnos con respecto a tus problemas para construir la biblioteca XLNT en Visual Studio 2017.

    Según tu descripción, parece que el problema principal está relacionado con rutas y extensiones de archivo conflictivas entre la biblioteca XLNT y la biblioteca libstudxml. Para resolver este problema, te recomendaría los siguientes pasos:

    1. Asegúrate de haber descargado la versión correcta de la biblioteca libstudxml que sea compatible con la biblioteca XLNT.
    2. Verifica las rutas y extensiones de archivo especificadas en el archivo libstudxml.build\CMakeLists.txt y asegúrate de que coincidan con la estructura de directorios y extensiones de archivo de los archivos libstudxml que hayas descargado.

    3. Si es necesario, renombra o mueve los archivos libstudxml para que coincidan con las rutas y extensiones de archivo especificadas en el archivo CMakeLists.txt.

    4. Actualiza cualquier declaración de inclusión en el código fuente de la biblioteca XLNT que haga referencia a la biblioteca libstudxml para reflejar las rutas y nombres de archivo actualizados.

    5. Vuelve a ejecutar CMake y genera los archivos de construcción para la biblioteca XLNT actualizada con la configuración de libstudxml actualizada.

    6. Compila la biblioteca XLNT actualizada en Visual Studio y asegúrate de que todos los archivos estén enlazados correctamente y no se generen errores.

    En general, parece que la causa raíz del problema está relacionada con rutas y extensiones de archivo conflictivas o faltantes entre las bibliotecas XLNT y libstudxml. Al examinar cuidadosamente las rutas y nombres de archivo especificados en el archivo CMakeLists.txt y actualizar el código fuente en consecuencia, deberías poder resolver estos problemas y construir la biblioteca XLNT con éxito en Visual Studio.

    ¡Espero que esto te ayude y te deseo mucha suerte con tu proyecto!

    Atentamente,
    [Tu Nombre]

Comments are closed.