在播放Torch 7代碼時出現問題。我有一個共享庫libhashnn.so文件,我想在Torch 7腳本中加載函數,所以我使用這個表達式:require 'libhashnn'
,但是trepl提供了一個錯誤。Torch 7/Lua不需要.so文件,但是package.loadlib()可以
但是,如果我使用package.loadlib
函數,它確實有效。以下是結果,但我不知道爲什麼我不能使用require
,如何才能使用require
來成功加載庫?
require'libhashnn'
/home/dazhen/torch/install/share/lua/5.1/trepl/init.lua:383: bad argument #1 to '?' (table expected, got string)
stack traceback:
[C]: in function 'error'
/home/dazhen/torch/install/share/lua/5.1/trepl/init.lua:383: in function 'require'
[string "_RESULT={require'libhashnn'}"]:1: in main chunk
[C]: in function 'xpcall'
/home/dazhen/torch/install/share/lua/5.1/trepl/init.lua:650: in function 'repl'
...zhen/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:199: in main chunk
和
f=package.loadlib('libhashnn.so' ,'luaopen_libhashnn')
[0.0195s]
th> f
function: 0x41630f38
感謝您的建議。但我有時在腳本中發現這個'require'libhashnn''可以正常工作,但有時它不能......仍然困惑。 –