2008-10-26 30 views
5

Tengo SBCL ejecutándose en una máquina Ubuntu. Quiero escribir un pequeño programa que quiero darle a un amigo que solo tiene Windows funcionando. ¿Cuál es la forma más rápida de compilarlo en forma cruzada en mi máquina en un programa de Windows "independiente" (es decir, la combinación habitual de tiempo de ejecución + núcleo)?Compilación cruzada con SBCL

Respuesta

5

SBCL puede realizar una compilación cruzada, pero debido a la evaluación del código durante el proceso, necesita acceder a la arquitectura de destino. La construcción de SBCL procesada está bien explicada por Christophe Rhodes en SBCL: a Sanely-Bootstrappable Common Lisp .

Si no tiene acceso directo a una máquina con Windows, supongo que podría probar Wine (esperaría que esto falle) o ReactOS dentro de un emulador o hipervisor (QEMU, HVM, Xen, usted) nombralo...).

4

Sospecho que instalar Windows en una máquina virtual y compilar su aplicación allí sería la forma más rápida.

1

Los núcleos son específicos de una combinación de plataforma/versión. Use el método de Luís, o distribúyalo con un Lisp diferente, como CLisp.

No hay absolutamente ninguna compatibilidad binaria de imágenes de núcleo entre los diferentes programas de soporte de tiempo de ejecución. Incluso los tiempos de ejecución construidos a partir de las mismas fuentes en diferentes momentos son tratados como incompatibles para este propósito. SBCL Manual

Cuestiones relacionadas