2012-05-23 89 views
1

我正在努力編寫可以從Lua訪問的C++類/函數。如何鏈接Microsoft Visual C++。2010 Express中的Lua?

我需要將C++庫導出爲dll文件。

我使用Microsoft Visual C++ 2010年快遞

所以我創建了一個項目並添加需要.cpp文件和.h文件 現在,當我嘗試建立,會出現以下錯誤。

mylib.obj:錯誤LNK2019:解析外部符號_lua_settop 在函數引用 「無效__cdecl g_initializePlugin(結構 lua_State *)」(g_initializePlugin @@ YAXPAUlua_State @@@ Z?)

類似所有lua函數都會發生錯誤。當谷歌搜索時,我得知我必須鏈接LUA。

這怎麼可以在Visual C++中完成。

P.S 我發現它指示我給

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

對於這個解決方案的解決方案,它需要一個lua5.1文件。我應該從哪裏下載該文件以及它應該放在哪裏(在項目文件夾中?)?

回答

1

好的!我想出瞭如何!

要連接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文件!

+1

這似乎是正確的。請注意,問題中提到的步驟3和#pragma comment是完成相同事情的兩種方式 - 使鏈接器進程lua5.1.lib。 –

+0

好點!謝謝! – SatheeshJM

相關問題