C++でLuaを使用しようとしていますが、コードをコンパイルできません。私はLuaの最新バージョンを使用していますが、現時点では5.3です。私のIDEはCode :: Blocksです。彼らはCでのLuaを設定する方法についてはあまり説明しないただし:: B https://eliasdaler.wordpress.com/2013/10/11/lua_cpp_binder/ http://gamedevgeek.com/tutorials/getting-started-with-lua/C++でLuaを使用する
:これまでのところ私はこのようなガイドに従っていました。私はLuaのウェブサイトからバイナリのzipとソースの両方をダウンロードしました。私はsrcフォルダからファイルをどこに置くべきか分からない。これまでのところ私は、ディレクトリにlauxlib.h、lua.h、luaconf.hとlualib.hを入れている、とmain.cppに、次のコードを使用:これまでのところ
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
をしかし、私は常に最初の行でエラーが発生します
lua_State* L;
L = luaL_newstate();
luaL_openlibs(L);
luaL_dofile(L, "test.lua");
lua_close(L);
:私はちょうど、次の小さなスニペットを実行しようとしています。私が現時点で得ているエラーは、リファレンスが 'luaL_newstate'に定義されていないことを示しています。
おそらく私はいくつかのファイルをソースからlibディレクトリに置くべきでしょうか?または、「プロジェクトビルドオプション」メニューの「その他のリンカーオプション」に追加する必要があるものはありますか?
編集:私はこの質問見つけた平均時間で
: Lua 5.3 undefined references
私が「Optherリンカオプション」に-lluaを入れて持っているようだが、ないあります.a、.so、.libファイルは、lua.orgのパッケージに含まれています。
私はC :: Bでこれを行う方法はわかりませんが、luaライブラリをリンクする必要があります。あるいは、プロジェクトにソースファイルを含めることもできますが、それは "正しい"方法ではありません。他のライブラリと同様にライブラリをリンクするだけです。 – pschulz
@pschulz私はLuaがソースファイルを追加できるように設計されていると思っていました。 – immibis
@pschulzライブラリをリンクする一般的な説明はありますか?私がこれを検索するたびに、私はフォーラムについて曖昧な説明をしますが、ステップチュートリアルではよく書かれたステップはありません。私が言語を学んだとき、私が何かを忘れてしまったという気持ちが本当にあります。前にSDLをセットアップしたとき、Lazyfooがすべてを詳細に説明して以来、私はラッキーでした。この時点で、私はすべての.hファイルをインクルードライブラリに持ち、すべての.cファイルを.cppファイルの隣に置いていますが、引き続き同じエラーが表示されます。 – Letokteren