これでビルドが通ると思ったのですが、IDEAから再度ビルドをかけると次の様なエラーが出てしまいます。
ネットでエラー内容をググると、どうやらnimは32ビット用のCソースを出力しているが、C側のコンパイルオプションが64ビットになっている(もしくはその逆)の場合に発生するようです。
ならばと、gradleのコンパイルオプションを変更します。
41行目のコンパイルオプションを --cpu:arm から --cpu:arm に変更しています。
これで再度ビルドを行うと。。。
・・・またもや同じエラーが吐かれます!!!
なんでや〜💢💢💢
・・・結局分かったのはAndroidのNDKコンパイルは、ARMの32,64ビット用と、Intelの32,64ようの計4回コンパイルをおこなってるみたい。
なんでNim側で32ビット用にトランスパイアすれば64ビット用のコンパイルでおちるし、64ビット用にトランスパイアすれば32ビット用のコンパイルでおちるということか。
詰んだじゃん、これ。
Nim側でも32,64ビット両方トランスパイアしてやって、Cのコンパイルで適した方を参照するように振分けてやればいいのかもしれないが、そんな事出来るのだろうか?? いやそれに、ARMとIntelも分けなくて良いのか?エンディアン問題とか大丈夫なのか??
もうすこしだけCのソースを追ってエラーの箇所を調べてみたのですが、[Nimをインストールしたフォルダ]\lib\nimbase.h でエラーになっていました。
522行目でエラーになっています。
どうも、ここの行は先に話したNim側とC側でプロセッサのビット数が合っているかチェックしている部分らしく、動作に影響が出るものではなさそう。。。
nimbase.h はNimのシステムファイルなので基本(絶対)修正不可なものではあるのですが、ちょっと試しにこの行をコメントアウトしてみます。
これでビルドを行うと
通ったああああぁぁぁぁ~~~~🤣🤣🤣
(何かワーニング出てるけどもういいや)
そして、Noxでも表示されたああああああぁぁぁ~~~~🤣🤣🤣
本当はUI周りとかをNimからいじれるか等、色々検証したい事もあったけど疲れたからパス。
もうideaはいやだ。。