ho scritto un programma di Nim,Nim croce compilazione di C
echo("Hello.")
E poi ho cercato di attraversare compilare per una macchina Linux,
nim c --cpu:i386 --os:linux -c hello.nim
Ciò ha prodotto il seguente risultato:
config/nim.cfg(45, 2) Hint: added path: '/Users/connor/.babel/pkgs/' [Path]
config/nim.cfg(46, 2) Hint: added path: '/Users/connor/.nimble/pkgs/' [Path]
Hint: used config file '/usr/local/lib/nim-0.10.2/config/nim.cfg' [Conf]
Hint: system [Processing]
Hint: hello [Processing]
Hint: operation successful (8753 lines compiled; 0.140 sec total; 14.148MB)[SuccessX]
A questo punto sono stato modificato nella directory nimcache/
e ho tentato di eseguire:
gcc hello.c -o hello.o
Ma che mi ha dato un errore:
hello.c:5:10: fatal error: 'nimbase.h' file not found
#include "nimbase.h"
^
1 error generated.
ho pensato, "non disperatevi, mi limiterò a trovare nimbase.h
e rilasciarlo nella directory nimcache
lì", ma dopo che ho avuto un nuovo errore,
In file included from hello.c:5:
./nimbase.h:385:28: error: 'assert_numbits' declared as an array with a
negative size
...sizeof(NI) == sizeof(void*) && NIM_INTBITS == sizeof(NI)*8 ? 1 : -1];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Non sono sicuro di cosa dovrei fare con quello. Ho provato a utilizzare l'opzione --genScript
, ma ciò ha provocato errori simili. Sto usando OS X Yosemite.
Grazie!
Aggiornamento:
non ero sicuro di come molti architetture sono stati sostenuti per l'opzione --cpu:
, ma ho trovato una lista (parziale?) Il post What makes Nim practical blog. Ho finito per chiamare,
nim c --cpu:amd64 --os:linux -c hello.nim
Questo ha impedito l'errore che ho visto durante la compilazione sulla mia macchina Linux. Se stai usando Linux o OS X non è sicuro che la vostra architettura della CPU è che si può chiamare,
less /proc/cpuinfo
I documenti dicono che "il codice C generato non è indipendente dalla piattaforma C il codice generato per Linux non viene compilato su Windows, ad esempio. " e "sposta il codice C e lo script di compilazione compile_myproject.sh sulla tua macchina Linux i386". Quindi forse non puoi completare questo su OS X. – Thilo
Oh sì, mi ricordo di averlo letto. Ho scp'd 'nimcache' (con' nimbase.h') nella mia macchina linux e ho ottenuto di nuovo l'ultimo errore. Mi manca ancora qualcosa? – cjohnson318