C言語にluaを組み込もうと思ったのですが、コンパイルの仕方がよくわからなくてはまったのでまとめました。
#実行環境
OS:windows10
エディタ:Visual Stdio Code
コンパイラ:MinGW 64bit
#参考サイト
C言語のプログラムにLuaインタプリタを組み込む
gcc コンパイルオプション備忘録
Luaプログラミング入門
#コード
このコードをコンパイルすることが目標になります。
#include <stdio.h>
#include <lua.h>
#include <lualib.h>
#include <luaxlib.h>
int main(void) {
lua_State *L = luaL_newstate();
lua_close(L);
return 0;
}
#Luaのライブラリダウンロード
MinGW用のライブラリファイルをダウンロードします。
このサイトのHistoryから最新版にアクセスします。LuaBinariesの中でWindows Libraries を選択しましょう。
2種類ありますが、Staticを選びます。
コンパイラごとにライブラリがありますので自身のコンパイラにあったものを選択します。今回はMinGWの64bit版を使うのでlua-5.4.2_Win64_mongw6_lib.zipを選択しました。
ダウンロードしたいファイルをクリックすると始まるカウントダウンがゼロになるとダウンロードが始まりますので終わったら解凍してください。
#コンパイル
回答したフォルダに入っているincludeフォルダとliblua54.aファイル(たぶん54の部分はバージョンによって変わる)をコンパイルしたいプログラムの入っているフォルダに入れます。
コマンドラインで以下のコマンドを走らせます
$ gcc -o LuaTest LuaTest.c -I "include" -L. -llua54
LuaTest.exeができていれば成功です。
#終わりに
gccのオプションの書き方とかwindows用のライブラリの場所とか分からなくて数日間さまよってました。