VS2012 を使用して、lua を C++ アプリケーションに静的にリンクしようとしています。sourceforge から vs11_lib ファイルをダウンロードし、このファイル lua52.lib のリンカー依存関係を追加しました。コンパイルしようとすると、あらゆる種類のリンク エラーが発生するようになりました。手順を間違えたと確信しています。繰り返しますが、アプリケーションをスタンドアロンで実行したいので、これを静的に行っています。どんなポインタでも大歓迎です!
5121 次
2 に答える
2
Lua ソースは、C または C++ としてコンパイルできます。使用しようとしている lib ファイルは C としてコンパイルされており、それらのヘッダーを C++ としてインクルードしていると思います。結果として、関数の名前が異なります。したがって、リンクエラー。
C++ ファイルで C ライブラリを使用している場合は、次のようにライブラリのヘッダーをラップします。
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
Visual Studio で Lua を使用する詳細な手順については、この記事を参照してください。
アップデート:
@lhf がコメントで述べているように、Lua の新しいディストリビューションlua.hpp
は、同じことを行う C++ ヘッダーを提供します。PILの古いディストリビューションについて説明されています。
于 2013-05-08T11:27:04.933 に答える