2015-11-05 2 views
3

, когда я загрузить модуль LFS в Lua файл, я получил сообщение об ошибке:не может загрузить luafilesystem в Lua

error loading module 'lfs' from file '/usr/lib64/lua/5.1/lfs.so': 
/usr/lib64/lua/5.1/lfs.so:1: unexpected symbol near 'char(127)' 

вот код:

#!/usr/bin/lua 
package.path = package.path .. ";/usr/lib64/lua/5.1/?.so" 
require"lfs" 

если я выполнить код в Lua консоль, это успешно; если я скопирую файл lfs.so в тот же каталог, что и файл lua, мне тоже удастся. У меня был googled, но я не могу найти решение.

+3

использовать вместо 'package.cpath = package.cpath .. "; /usr/lib64/lua/5.1/?. так"' – hjpotter92

+0

@ hjpotter92 это работает, спасибо! Кстати, вы знали, как закрыть вопрос на stackoverflow.com? –

ответ

2

Вы загружаете библиотеку C. Для пакетов библиотеки C путь, который должен использоваться, должен быть package.cpath.

package.path (для модулей, написанных на Lua) и package.cpath (для модулей, написанных на C) являются местами, где Lua ищет модули. Они являются списками с разделителями с запятой, и каждая запись может содержать ? в ней , которая заменяется именем модуля.

(source)