2016-02-23 31 views
1

我是新來的Nim編程語言,來自Lua背景,它使我興奮發現有一個模塊可以將Lua綁定添加到Nim。當導入用於Lua綁定的Nim模塊時,錯誤顯示:「無法加載:lua(| 5.1 | 5.0).dll」

我安裝了Windows的Nimble(Nim的包管理器),並執行「靈活安裝lua」來下載並安裝正確的模塊。在試圖將其導入並編譯源,發生這種情況:

C:\Users\Ashley\Desktop\Stuff\Coding\Nim\Projects\LuaTest>nim c -r "C:\Users\Ashley\Desktop\Stuff\Coding\Nim\Projects\LuaTest\main.nim" 
Hint: system [Processing] 
Hint: main [Processing] 
Hint: lua [Processing] 
CC: main 
CC: lua_lua 
Hint: [Link] 
Hint: operation successful (10698 lines compiled; 1.262 sec total; 16.163MB; Debug Build) [SuccessX] 
could not load: lua(|5.1|5.0).dll 
Error: execution of an external program failed: 'c:\users\ashley\desktop\stuff\coding\nim\projects\luatest\main.exe ' 

我的Lua 5.1已經與PATH正確的項安裝。它位於Program Files(x86)中。該目錄包含一個名爲lua5.1.dll的dll。我試圖在Google上查找錯誤,但沒有任何結果有所幫助。可能是什麼問題呢?

+1

嘗試將dll放在與項目相同的目錄中:'C:\ Users \ Ashley \ Desktop \ Stuff \ Coding \ Nim \ Projects \ LuaTest' – hjpotter92

+0

@ hjpotter92同樣的問題發生 – NotAshley

+0

如果你把它放在目錄哪裏安裝了nim – hjpotter92

回答

3

在Windows上,您可以將庫存放在與生成的二進制文件相同的位置。在這種情況下,該文件應稱爲lua.dlllua5.1.dlllua5.0.dll。還要確保庫和二進制文件都適用於相同的系統體系結構,無論是x86(32位)還是x86-64(64位)。

+0

這沒有奏效。你可能會做些什麼,因爲我的Lua安裝是32位,而我的Nim編譯器是64位。爲了解決這個問題,我編譯了「--cpu:i386」標誌,但是結果卻發生了同樣的錯誤。 – NotAshley

+0

我下載了Lua 5.1 64bit二進制文件,它工作正常。謝謝您的幫助! – NotAshley