1

Lua からアクセスできる C++ クラス/関数を作成しようとしています。

C++ ライブラリを dll ファイルとしてエクスポートする必要があります。

Microsoft Visual C++.2010 Express を使用しています

そこで、プロジェクトを作成し、require .cpp ファイルと .h ファイルを追加します。ビルドしようとすると、次のエラーが発生します。

mylib.obj : エラー LNK2019: 関数 "void __cdecl g_initializePlugin(struct lua_State *)" で参照されている未解決の外部シンボル _lua_settop (?g_initializePlugin@@YAXPAUlua_State@@@Z)

すべての lua 関数で同様のエラーが発生します。グーグルで検索すると、LUAをリンクする必要があることがわかりました。

Visual C++ でそれを行う方法を教えてください。

PS 私は私に与えるように指示した解決策を見つけました

#pragma comment( lib, "lua5.1" ) 

このソリューションには、lua5.1 ファイルが必要です。そのファイルをどこからダウンロードし、どこに移動する必要がありますか (プロジェクトフォルダー内?)

4

1 に答える 1

2

わかった!方法がわかりました!

Lua をリンクするには、C++ プロジェクトを作成した後に次の操作を行う必要があります。

  • C:\Program Files\Lua\5.1\lib\lua5.1.dll をプロジェクト フォルダーにコピーします。
  • C:\Program Files\Lua\5.1\lib\lua5.1.lib をプロジェクト フォルダーにコピーします。
  • プロジェクトを右クリック --> プロパティ --> 構成プロパティ --> リンカー --> 入力.
    • lua5.1.lib を追加の依存関係に追加
  • プロジェクトを右クリック --> プロパティ --> 構成プロパティ --> VC++ ディレクトリ。
    • インクルード ディレクトリに C:\Program Files\Lua\5.1\include を追加します。

注:私のluaインストールは C:\Program Files\Lua\5.1 にあります

プロジェクトをビルドすると、dll ファイルが作成されます。

于 2012-05-23T10:15:07.850 に答える