LoginSignup
1
1

More than 3 years have passed since last update.

C++にLuaを導入しようと悪戦苦闘する

Last updated at Posted at 2019-12-16

C++にLuaを組み込もうとして悪戦苦闘しました……。

やった手順だけ書き残します。

環境

  • macOS Catalina ver10.15.1
  • Apple clang version 11.0.0
  • Lua 5.3.5

手順

1.Luaのソースファイルをダウンロード

何ダウンロードすればいいのか分からなかったのでソースファイルを持ってきました。
Lua公式ページからlua-5.3.5.tarをダウンロードして解凍。

2.libファイルを作る

ここで、つまづいた……。

libファイルを作らなきゃいけないので、解凍したディレクトリに移動してmakeします。
makefileがくっついてるのでできるはず。

$ make macosx

makeしたらliblua.aが作成されていることを確認。こいつを使用します。

以下、wikipedia先生の解説

ライブラリのファイル名は常に接頭辞libで始まり、拡張子として.a(静的ライブラリ)あるいは.so(ダイナミックリンクライブラリ)が使用される。

3.ビルドできるか試す

私はプロジェクトでmakeを使っているのでそこに組み込みます。
さっきのliblua.aの場所を指定します。

g++ -o (オブジェクトファイル) -L./include/lua -llua

なんだこれ。。。最初は思いましたがこれには意味があります。

  • -Ldir
    • -Lの後にスペースを開けずにディレクトリを指定します
  • -llib
    • -lの後にスペースを開けずにライブラリファイル名を指定します
    • 指定の仕方が特殊で、頭のlibと拡張子.aを除いた名前をここに入れます

4. 完了

こんなりすんなりいけばいいんですが、1日位かかりました……。

おまけ

途中でNo rule to make targetとかエラーが出る人は、パス間違い、ファイル間違い、スペルミス、makefileの書き方ミスとかが多いそうです。

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1