lua51.dllを静的リンクせずにliblua.aをリンクする

Lua + C言語で、lua51.dllを静的リンクしないでliblua.aをexeに含めるメモです。
なんでこんなことを書いてるかって、C言語に関わってくる低レイヤーな部分は全然知らないからなのですよ。


lua51.dllを静的リンクする場合。

$ gcc lua51.dll main.o (その他.oファイル) -o main.exe (-mwindowsとか) -I./lua-5.1.4/src

main.exeの他にlua51.dllが必要になります。
それが嫌なのでliblua.aをリンクする方法。

$ gcc main.o (その他.oファイル) -o main.exe (-mwindowsとか) -L./lua-5.1.4/src -llua

これならmain.exe単体でOKなはず。たぶん。


C言語は言語自体は込み入ったことをしなければ難しくないんだけど、コンパイラ周り(?)がよくわからないというか。
組み込み関係を勉強するとよくわかるのかなー。Delphiだとこの辺は勝手にやってくれるし、LLだと関係ないし……