私は Nim プログラムを書きました。
echo("Hello.")
そして、Linuxマシン用にクロスコンパイルしようとしました.
nim c --cpu:i386 --os:linux -c hello.nim
これにより、次の出力が生成されました。
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]
この時点で、nimcache/
ディレクトリに変更して実行しようとしました:
gcc hello.c -o hello.o
しかし、それは私にエラーを与えました:
hello.c:5:10: fatal error: 'nimbase.h' file not found
#include "nimbase.h"
^
1 error generated.
「大したことない、そこnimbase.h
のディレクトリに見つけてドロップするだけだ」と思ったのnimcache
ですが、その後、新しいエラーが発生しました。
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.
私はそれで何をすべきかわかりません。オプションを使用しようとし--genScript
ましたが、同様のエラーが発生しました。OS X Yosemite を実行しています。
ありがとう!
アップデート:
このオプションでサポートされているアーキテクチャの数はわかりませんでしたが、Nim を実用的なものにするブログ投稿--cpu:
に (部分的な?) リストを見つけました。結局電話したのですが、
nim c --cpu:amd64 --os:linux -c hello.nim
これにより、Linux ボックスでコンパイルしたときに表示されたエラーが防止されました。Linux または OS X を使用していて、CPU アーキテクチャが不明な場合は、
less /proc/cpuinfo