これは、通常のグーグル/スタック オーバーフロー/ユーチューブ ルーチンの使用の根底に到達できないことに気付いた最初の質問です。
私の環境が開発の準備ができていることを確認するためだけに、C++ 環境内で最小限の Lua プログラムをコンパイルしようとしています。Lua 言語は、後で私の C++ ゲームのユーザー インターフェイス プログラミングに使用されます。
私の環境に関する最初のいくつかの基本的な情報:
Windows 7 64 ビット
ビジュアルスタジオ 2010
Lua for Windows 5.1 (Google コードからダウンロードできる最新のビルド)
コンパイルしようとしているコードは次のとおりです。
// UserInt.cpp : Defines the entry point for the console application.
//
#pragma comment(lib,"lua5.1.dll")
#include "stdafx.h"
#ifndef __LUA_INC_H__
#define __LUA_INC_H__
extern "C"
{
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}
int _tmain(int argc, _TCHAR* argv[])
{
lua_State * ls = luaL_newstate();
return 0;
}
#endif // __LUA_INC_H__
これが私が得ているエラーです:
1>UserInt.obj : error LNK2019: unresolved external symbol _luaL_newstate referenced in function _wmain
1>c:\users\deank\documents\visual studio 2010\Projects\UserInt\Debug\UserInt.exe : fatal error LNK1120: 1 unresolved externals
私が試したこと:
lua_open() (および他のいくつかの関数) が使用されなくなったことについて読んだので、代わりに newstate 関数を試しました。同じエラーが発生します。これは何よりも健全性チェックでした。私は 5.2 ではなく 5.1 を使用しているので、これはあまり重要ではないと思います。
私もこのスレッドを読みました最小のLuaプログラムをリンクできませんが、そのOPと同じ環境を実行していないため、役に立たないようです。私は単純な Windows 7 とビジュアル スタジオ環境を使用しています。
一番上のプラグマ コメント行は、別のスレッドで見たものです。それがあってもなくても同じエラーが発生します。
Visual Studio の C++ ディレクトリ エリアに移動し、lua インクルードをインクルードに追加し、lua lib をライブラリに追加しました。
したがって、私のプログラムは .h とシンボルを見ているようです。しかし、何らかの理由で、関数の .cpp 実装を取得していません。これが、.dll を直接含めることが問題の解決に役立つことを期待していた理由ですが、そうではありませんでした。
だから、これを自分で解決するすべての選択肢を使い果たしたような気がします。誰かが私がここで前進するのを手伝ってくれることを願っています. Lua はスクリプトを作成するのに最適な言語のようで、開発のために自分の環境を整えたいと思っています。
それが私の側のばかげたエラーであることを願っています。できる限り多くの情報を提供したと思います。詳細が必要な場合は、提供できる場合は情報を更新します。
編集1
このCan't build lua a project with lua in VS2010 で解決策を試しました。ライブラリの問題が疑われます
それもうまくいきませんでした。