mingwでLua

長くなったので分離。


さぁてLuaを組み込むぞーというところでリンクエラー。じゃあLuaでmakeしてもう一度。リンクエラー。むぅ。ライブラリのパス指定は大丈夫だと思うのだけど。
依存関係がある場合、「呼び出す側が先」らしい。つまり、「OBJが先、ライブラリは後」。が、今回はその問題でもない。
なかなか上手くいかないので、ソースを持ってくるところから始める。gcc用のソースじゃないのかもしらんし。
で、取ってきてmake、だけだと「プラットフォームを指定してください」と出るので、mingw上でやってるのでmake mingw。で、再び戻ってパスを設定しなおしてmake。やっぱり駄目か。
ってアレ?今回はlibが出来てない。src内にoファイルが出来てるのみ。そもそもパスがなかったんじゃん。じゃあsrc指定で。まだ駄目か。


仕方なく、Lua内のINSTALLを読む。make testでの確認はおk。make install実行後、戻ってmakeしてもやっぱり駄目(usr/local/libのパス指定もやってる)。make localでLuaを置いたところにlibとかが作成されるらしい。念のためmake localしたら途中で終了。「.exe」の表記を追加したら進むのかなぁと思うけど、やってもリンクエラーは直りそうにないので終了。


ひとまず簡単なLuaサンプルを作って実験。やっぱりコンパイルは通るもののリンクエラー。


こうなりゃ奥の手だ。ということで、Luaのファイル一式を本体のフォルダにコピーして一緒にコンパイル。拡張子をcからcppに一括変更。mainの衝突などがあるので修正。で、とうとうエラーなし!C++側で定義した関数をLuaに呼ばせて物体を生成するところまで確認。


疲れた。環境がmingwだということを忘れていたというか、ここまで問題になるとは思わなんだ。今日はここで終了。
あとは「Luaを分離するなりシェイプアップするなりしたいなー」「Luaからの物体生成に構造体使いたいなー」「マトリクスから四元数への変換が意外な数式で実現されてたので、それについて調べたいなー」というあたり。