Compilazione incrociata con SBCL
-
04-07-2019 - |
Domanda
Ho SBCL in esecuzione su una macchina Ubuntu. Voglio scrivere un piccolo programma che voglio dare a un amico che ha solo Windows in esecuzione. Qual è il modo più veloce per compilare in modo incrociato sulla mia macchina in un "autonomo" programma windows (ovvero la solita combinazione runtime + core)?
Soluzione
SBCL è in grado di eseguire una compilazione incrociata, ma a causa della valutazione del codice durante il processo, è necessario accedere all'architettura di destinazione. Il build elaborato da SBCL è ben spiegato da Christophe Rhodes in SBCL: a Sanely Lisp comune non leggibile .
Se non hai accesso diretto a un computer Windows, suppongo che potresti provare a Wine (mi aspetterei che fallisca) o ReactOS all'interno di un emulatore o hypervisor (QEMU, HVM, Xen, lo chiami ...).
Altri suggerimenti
Sospetto che l'installazione di Windows su una macchina virtuale e la compilazione della tua app ci sarebbe il modo più rapido.
I core sono specifici di una combinazione piattaforma / versione. Usa il metodo di Lu, o distribuiscilo con un Lisp diverso, come CLisp.
Non esiste assolutamente alcuna compatibilità binaria di immagini core tra diversi programmi di supporto runtime. Anche i tempi di autonomia costruiti dalle stesse fonti in momenti diversi sono considerati incompatibili con questo scopo. Manuale SBCL