私のubuntu 14.xxでは、lsnesエミュレータをaleju/mario-aiのmario-aiスクリプトを使用してコンパイルしようとしました。 :残すディレクトリ:[2]を作る 「__all__.files' is up to date. make[3]: Leaving directory
/ホーム/ pengsuyu /ソフトウェア/ lsnes /ソースコード/ SRC /プラットフォーム/ MacOSXの: lsnesをビルドするときに "undefined lua_xxxxx"というリンクエラーが発生しました
[3]します:ここで
は、コンソールから出力され
/home/pengsuyu/software/lsnes/sourcecode/src/platform' g++ -o lsnes
cat all_common .files all_platform .files-pthread -lboost_iostreams -lboost_filesystem -lboost_system -lz -lgcrypt -lgpg-error -L/usr/lib/x86_64-linux-gnu -lcurl -rdynamic -ldl
猫のコア/ すべて .ldflagsのLUA/すべて .ldflagsフォント/すべては、ビデオ/ すべて .ldflagsエミュレーションを.ldflags すべて .ldflagsライブラリ/ すべて .ldflagsインターフェース//すべて。 LDFLAGSのcmdhelp/すべて .ldflagsプラットフォーム/ すべて .ldflagscore/multitrack.o: In function
LUA ::状態:: get_string(int型、のstd ::文字列のconst &) ': /ホーム/ pengsuyu /ソフトウェア/ lsnes /ソースコード/ SRC /コア/../../include/library/lua-base.hpp:317 :未定義lua_tolstring' core/multitrack.o: In function
LUAへの参照::状態:: get_bool(int型、のstd ::文字列のconst &) ': /home/pengsuyu/software/lsnes/sourcecode/src/core/../../include/library/ lua-base.hpp:334:lua_toboolean' core/multitrack.o: In function
への未定義の参照lua :: state :: type(int) ': 。 。 /home/pengsuyu/software/lsnes/sourcecode/src/library/lua.cpp:536:lua_close' library/lua.o: In function
LUA ::状態:: pushcfunction(int型()(lua_State))」に未定義の参照: /ホーム/ pengsuyu /software/lsnes/sourcecode/src/library/../../include/library/lua-base.hpp:504:lua_pushcclosure' library/lua.o: In function
への未定義の参照lua :: state :: getfield(int、char const *) ': /home/pengsuyu/software/lsnes/sourcecode/src/library/../../include/library/lua-base.hpp:506:定義されていない参照lua_getfield' library/lua.o: In function
ルア::状態::挿入(int) ': /home/pengsuyu/software/lsnes/sourcecode/src/library/../../include/library/lua-base.hpp:509:未定義の参照lua_insert' collect2: error: ld returned 1 exit status make[1]: *** [lsnes] Error 1 make[1]: Leaving directory
/home/pengsuyu/software/lsnes/sourcecode/src ' make:*** [src/all_files]でエラー2
==================================
リンカは私のluaライブラリを見つけることができません。だから私はtest.luaでmain.cppをコンパイルしようとしました。
main.cppに:
#include <stdio.h>
#include <iostream>
//extern "C"
//{
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
//} // liblua5.1-c++.a
lua_State * L;
int main()
{
L = lua_open();
luaL_openlibs(L);
luaL_dofile(L, "d:\\test.lua");
return 0;
}
がtest.lua:とき、私それが動作
main:main.o
gcc -o [email protected] $< -llua5.1 -lstdc++
main.o:
gcc -c main.cpp
clean:
-rm *.o
:
print("Hello World");
私は実行ファイル "メイン" を生成するMakefileを書きますコンパイルオプション "-llua5を追加してください。私はlsnesに
をコンパイルしたとして1" と 『-lstdC++』、それ以外の場合は、私はgccとMakefileのに慣れていない午前、同じエラーがスローされます。この問題を解決するために私を助けてください。