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.

¿Cómo empaquetar archivos en un solo archivo ejecutable para Linux y Windows?

Estoy creando una aplicación de escritorio en Golang con Muon UI (usando Ultralight en lugar de Chromium) y compilando mi aplicación para Linux y Windows. Por ahora la aplicación funciona bien, pero requiere las bibliotecas de Ultralight (*.dll para Windows y *.so para Linux). Pero quiero distribuir mi aplicación como un único archivo ejecutable. ¿Cómo puedo crear dos archivos ejecutables? El primer archivo para Linux debería incluir el archivo ejecutable principal para Linux y solo las bibliotecas *.so. Y el segundo archivo debería incluir el archivo ejecutable principal para Windows y solo las bibliotecas *.dll. ¿Cómo puedo hacer esto? ¿Hay alguna utilidad de línea de comandos para esto? (para usar en Gitlab CI dentro de Docker, por ejemplo) ¿O puedo hacer esto a través de Golang (usando el paquete de incrustación)? ¿Puedo incrustar bibliotecas en el archivo exe para que se pueda ejecutar? ¿O puedo usar cgo para vincular bibliotecas dinámicas como estáticas en el archivo binario?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Hay algunas opciones disponibles para crear un solo archivo ejecutable que funcione tanto en Linux como en Windows.

    1. Puede utilizar una herramienta como UPX para comprimir su archivo ejecutable y las bibliotecas asociadas en un solo archivo.
    2. Puede utilizar el enlazador de Go para enlazar las bibliotecas en el archivo ejecutable.

    3. Puede utilizar el paquete “Go embed” para incrustar las bibliotecas en el archivo ejecutable.

    4. Puede utilizar el CGo para enlazar las bibliotecas dinámicas como estáticas en el archivo binario.

    Depende de usted decidir cuál opción es la mejor para su proyecto.

Comments are closed.