установить lua путь поиска по умолчанию правильно, чтобы найти необходимый lua модуль - PullRequest
1 голос
/ 09 марта 2020

У меня есть проект Visual Studio с кодом C ++, вызывающим файлы lua.

Я пытаюсь загрузить модуль lua, но его не удается найти. Если вы правильно понимаете, package.path может быть установлен через переменную окружения LUA_PATH. Поэтому перед запуском файла lua я вызываю скрипт со строками для установки пути к родительской папке модуля lua:

set LUA_PATH=%LUA_PATH%;C:\Users\xyz\lua

Затем в lua file, я пытаюсь объединить путь поиска со строками, но не работает:

package.path = package.path .. "./?.lua;"

edit: вывод print(package.path):

;C:\Users\xyz\lua;./?.lua;

но я хочу

;C:\Users\xyz\lua\?.lua;

edit: я забыл удалить точку с запятой в конце LUA_PATH. Теперь он работает без строки package.path.

1 Ответ

1 голос
/ 10 марта 2020

set LUA_PATH=%LUA_PATH%;C:\Users\xyz\lua

Это добавляет ; инфронт C:\Users\xyz\lua, если LUA_PATH уже что-то содержит. Вместо этого вы можете захотеть что-то вроде этого:

IF DEFINED LUA_PATH (
    set LUA_PATH=%LUA_PATH%;
)
set LUA_PATH=%LUA_PATH%C:\Users\xyz\lua

package.path = package.path .. "./?.lua;"

Это добавляет ; в конце и также добавляет ./, где вы, вероятно, хочу \, так что попробуйте это вместо:

package.path = package.path .. "\\?.lua"
...