Как установить lua на windows

Обновлено: 05.07.2024

За Lua прочно закрепилась слава полуязыка — инструмента, который при случае можно встроить, чтобы заскриптовать приложение, написанное на компилируемом языке вроде С++. Тем не менее Lua является вполне самостоятельным языком, имеющим свой интерпретатор, возможность создания модулей, большое число библиотек, и при этом данный ЯП обладает минимальным размером среди аналогов. Проще говоря у нас есть все, чтобы создавать такие же приложения как на perl, python, и вообще любом другом распространенном языке программирования.

  • — приложения будут легко переносимы между Windows и Linux (не факт что код будет работать без изменений, но портирование правда пройдет безболезненно, если не были использованы платформоспецифичные библиотеки)
  • — малый оверхед создаваемых программ
  • — высокая скорость работы и загрузки приложений
  • — возможность оперативно «приклеить» к вашему приложению любую С-библиотеку — лучшего «клея» для библиотек вы не найдете
  • — приятный минималистичный синтаксис языка, с возможностью реализации на нем современных парадигм программирования
  • — программы на Lua очень легко развертывать
  • — малое потребление памяти

Чтобы продемонстрировать возможности Lua, я покажу как с его использованием создать небольшую программу для построения графиков по точкам с возможностью сохранения графика в виде файла изображения.

В качестве графического тулкита будем использовать iup — кроссплатформенную библиотеку, изначально созданную с расчетом использования из Lua.

Установка Lua SDK

В рамках идеи использования Lua как самостоятельного ЯП, была создана сборка Lua for Windows, которая содержит себе библиотеки, необходимые в повседневных задачах, возникающих при программировании под указанную ОС: работы с БД, GUI, парсинг XML и т.д. Пусть вас не смущает, что версия Lua в сборке 5.1, а не 5.2 — особой разницы в нашем случае между ними нет.

Скачайте и установите сборку.

Краткое описание концепции iup
  • — iup.dialog является корневым элементом интерфейса программы — в этом контейнере размещаются все элементы
  • — позиционирование элементов в контейнере производится при помощи layout-ов: задания правил размещения элемента в контейнере. Iup сам расположит и отрисует элемент согласно правилам. Основные контейнеры — фрейм, вертикальный сайзер, горизонтальный сайзер.
  • — обработчики событий задаются в виде функций, прикрепленных к виджету
  • — после создания диалога запускается цикл обработки событий
Код программы
Пара слов о развертывании

Скрипт можно запустить при помощи команды:

В данном случае библиотеки будут подключаться из поддиректории clibs/, которая находится в директории, куда был установлен Lua for Windows. Чтобы максимально компактно упаковать скрипт и библиотеки для переноса на другую машину, достаточно скопировать в одну папку следущие файлы(указаны с относительными путями от директории установки Lua):

Не забудьте поместить в эту папку и сам скрипт с программой. Теперь вы можете перенести эту папку на другую машину и запустить вашу программы командой, указанной выше. При этом никакие другие действия по установке библиотек и рантайма не нужны.

К сожалению файлы cd.dll, cdluad51.dll и iupcd.dll в данной версии Lua for Windows могут работать некорректно, поэтому рекомендую взять их из архива по ссылке ниже.

Итоги

Архив с рабочей версией тут, для удобства добавлена пускалка app.bat.



В результате получили, пусть и неказистую, утилиту, имеющую такой же функционал, как и если бы она была написана на «серьезном» языке программирования. При этом простую в развертывании и суммарным весом менее 2 мб. Потребление памяти — около 7 мб. Исходный код доступен для редактирования, сам Lua интерактивно понятен, что упрощает доработку подобного софта на местах.

На мой взгляд, это отличный выбор для написания учебного софта для школ и институтов, а также для внутреннего использования на предприятиях. Так как слабые машины до сих пор в изобилии присутствуют в подобных местах по всему СНГ, то использование Luа подобным образом целесообразно, особенно в свете постепнного прихода Linux на десктопы. К тому же тенденцию потери исходников самописного софта при жуткой его же забагованности можно приравнять к национальному бедствию.

Вся серия не будет подчиняться какой-то системе. Уроки будут последовательно вводить ряд конструкций языка, чтобы уже к третьему или четвёртому уроку вы уже могли писать свои программы. Моя цель - подтолкнуть вас к самостоятельному изучению языка, помочь ощутить его, а не разъяснить от А до Я - если хотите освоить язык полностью, читайте справочное руководство (которое, хоть и скверно, переведено на русский язык: http://www.lua.ru/doc/). Чем раньше вы перейдёте от уроков "для чайников" в Сети к изучению справочника, тем лучше.

Если что-то непонятно - обязательно задайте вопрос в комментариях, и я и другие участники постараемся вам помочь.

Lua - популярный, несложный для освоения встраиваемый интерпретируемый динамически типизированный язык программирования общего назначения. Нет, вам необязательно понимать и половины слов, сказанных в предыдущем предложении - главное знайте, что он популярный и несложный. Кстати, простотой, а также маленьким размером дистрибутива (около 150 килобайт), он и заслужил свою популярность. Скрипты на Lua поддерживаются большим количеством приложений, в том числе играми. World of Warcraft и S.T.A.L.K.E.R. используют язык Lua. Мой любимый игровой движок, LÖVE, позволит вам с помощью Lua с лёгкостью создавать разнообразные игры. Как видите, Lua открывает вам немалые горизонты!

Прежде чем мы начнём, вам следует обустроить среду для программирования: то есть, найти программу, которая принимала бы написанный вами код на Lua и исполняла его: интерпретатор. Тут есть три варианта:

Пользователям операционных систем на базе Linux в этом смысле проще: им достаточно воспользоваться пакетным менеджером и установить Lua из репозиториев. В Debian и Ubuntu это делается командой apt-get install lua, а в Fedora, Red Hat и производных дистрибутивах - yum install lua. Однако не доверяйте мне слепо и обратитесь к справочнику вашей операционной системы, чтобы узнать, как именно это делается у вас.

2. Использовать онлайн-интерпретатор.

3. Использовать IDE.

В ходу сейчас две несколько различающиеся версии Lua: 5.1 и 5.2. Я буду ориентироваться на самую последнюю версию - версию 5.2, но обязательно укажу на важные различия между ей и 5.1, так как последняя тоже достаточно распространена. Кстати, Lua 5.1 исполняет код в полтора раза быстрее, чем Lua 5.2, чтобы вы знали.

Установка lua это вопрос, который возникает достаточно часто. Что, вообще-то, достаточно удивительно, потому как установка lua на самом деле, крайне проста и понятна. Можно даже сказать, что там вообще нечего делать. Но, раз уж такие вопросы возникают, давайте немного поговорим об установке Lua.

Установка Луа. Скачиваем

Установка Луа. Компиляция.

  1. Запускаем Visual Studio
  2. Выполняем Tools->Visual Studio Command Prompt
  3. Переходим в папку с луа, в директорию etc. Вот так: cd D:/mylibs/lua-5.1.4
  4. запускаем скрипт компиляции луа: etc/luavs.bat
  5. Мы получили нужны нам файлы lua.exe и luac.exe

Второй способ без запуска Visual Studio:

Установка Луа. Доступ

Установка Луа. Статическая линковка.

Установка Луа. Проверка.

Проверим, всё ли работает. Создаём новый проект (я сделал консольный проект win32). Дописываем инклюды луа:

и доделываем сам main():

В настройки линковщика (Project/Properties/Linker/Input/Addition Dependencies) не забываем добавить нашу библиотеку (lua.lib для релиза и lua-debug.lib для дебага). Компилируем. Создаём тестовый файлик с луа-скриптом:

На этом наш урок завершён. Теперь у вас есть собранные версии дебаг- и релиз- версий луа, собранные для статической компиляции и вы можете без каких-либо проблем использовать их в ваших проектах.

В следующих уроках мы более подробно поговорим про использование луа-скриптов в программах и, в частности, в играх.

Автор, спасибо, хорошая статья, всё работает!

Не за что Очень рад, что у Вас всё получилось!

Что говорит? Какие ошибки?

Спасибо гуглу, за то, что я смог повторить то же самое в xcode.

Василий подскажи сайт где описано как подключить lua к xcode. А то ничего толкового найти не могу.

А как на счет компиляции LUA ? Будут статьи?

Папку с lua распаковал в диск С

Setting environment for using Microsoft Visual Studio 2010 x86 tools.

c:\program files\microsoft visual studio 10.0\vc\bin>cd C:/lua-5.1.4

C:\lua-5.1.4\etc>cd C:/lua-5.1.4/etc/luavs
Системе не удается найти указанный путь.

C:\lua-5.1.4\etc>cd src
Системе не удается найти указанный путь.

C:\lua-5.1.4\etc>cl /nologo /MD /O2 /W3 /c /D_CRT_SECURE_NO_DEPRECATE /DLUA_BUIL
D_AS_DLL l*.c
l*.c
c1 : fatal error C1083: Не удается открыть файл источник: l*.c: Invalid argument

C:\lua-5.1.4\etc>del lua.obj luac.obj
Не удается найти C:\lua-5.1.4\etc\lua.obj

C:\lua-5.1.4\etc>if exist lua51.dll.manifest mt /nologo -manifest lua51.dll.mani
fest -outputresource:lua51.dll;2

C:\lua-5.1.4\etc>cl /nologo /MD /O2 /W3 /c /D_CRT_SECURE_NO_DEPRECATE /DLUA_BUIL
D_AS_DLL lua.c
lua.c
c1 : fatal error C1083: Не удается открыть файл источник: lua.c: No such file or
directory

C:\lua-5.1.4\etc>if exist lua.exe.manifest mt /nologo -manifest lua.exe.manifest
-outputresource:lua.exe

C:\lua-5.1.4\etc>cl /nologo /MD /O2 /W3 /c /D_CRT_SECURE_NO_DEPRECATE l*.c print
.c
l*.c
c1 : fatal error C1083: Не удается открыть файл источник: l*.c: Invalid argument

C:\lua-5.1.4\etc>del lua.obj linit.obj lbaselib.obj ldblib.obj liolib.obj lmathl
ib.obj loslib.obj ltablib.obj lstrlib.obj loadlib.obj
Не удается найти C:\lua-5.1.4\etc\lua.obj

C:\lua-5.1.4\etc>link /nologo /out:luac.exe *.obj
LINK : warning LNK4001: не указаны объектные файлы; использованы библиотеки
LINK : warning LNK4068: параметр /MACHINE не указан; принимается по умолчанию на
X86
LINK : fatal error LNK1561: точка входа должна быть определена

C:\lua-5.1.4\etc>if exist luac.exe.manifest mt /nologo -manifest luac.exe.manife
st -outputresource:luac.exe

C:\lua-5.1.4\etc>del *.obj *.manifest
Не удается найти C:\lua-5.1.4\etc\*.obj

Настройка среды Lua (windows): сборка среды разработки Lua на платформе Windows (воспроизведено)

оконная платформа для создания среды разработки Lua (воспроизведено)


0.1742016.08.03 20:21:28 количество слов 864 чтение 13,701

В эти дни я изучаю язык сценариев Lua. Первое, что нужно решить, это проблема среды разработки. Поэтому в этой статье описывается, как создать среду разработки Lua под оконной платформой.
Здесь будут представлены два метода:

1. Интегрированный установочный пакет Lua For Windows

2. Загрузив официальный исходный код, затем скомпилируйте библиотеку, компилятор, интерпретатор

Способ 1. Установите интегрированный установочный пакет Lua For Windows напрямую


Каталог файлов после установки Lua For Windows

Среди них SriTE - официальный редактор, введите print («hello world») в текст, нажмите Run, и вы можете запустить его ниже, чтобы получить результат


lua.exe - командный интерфейс lua


luac.exe - компилятор Lua

Таким образом, простая операция рекомендуется

Способ 2: скомпилировать официальный исходный код


Lua официальный сайт скачать страницу источника

Каталог файлов после распаковки выглядит следующим образом:


исходный каталог lua

2. Затем вам нужно создать новое решение VC ++ в VS и построить три проекта в рамках решения, а именно проект библиотеки lua, проект компилятора lua и проект интерпретатора lua.
Шаги следующие:
(1) Создайте проект библиотеки lua:
Откройте VS2013 (также доступны другие версии), создайте новое консольное приложение VisuallC ++ -> win32 и нажмите OK


Затем нажмите на следующий шаг:


Выберите DLL и пустой проект и нажмите кнопку «Готово»


После завершения создания измените режим компиляции на режим выпуска


Затем добавьте загруженный официальный исходный код в проект, весь исходный код находится в каталоге src


Добавьте все .h файлы из каталога src в проект


Затем в каталоге srcЗа исключением lua.c и luac.cВсе остальные файлы .c добавляются в каталог исходных файлов в проекте lua53


Затем щелкните правой кнопкой мыши свойства проекта lua53 и измените тип библиотеки проекта проекта


Наконец, скомпилируйте и запустите файл Lua53.lib, сгенерированный в каталоге выпуска папки проекта.


То есть библиотека Lua была успешно сгенерирована

(2) Сборка проекта компилятора lua:
Добавьте новый проект в соответствии с вышеуказанным решением, имя проекта - Luac


Нажмите OK, Далее, а затем выберите консольное приложение и пустой проект



Затем добавьте заголовочные файлы и исходные файлы в исходном коде в проект, добавьте все заголовочные файлы в каталоге src, исходные файлы.Кроме lua.cОстальные должны быть добавлены.



Затем измените режим компиляции наrelease, Установлен вприменение


Затем установите Luac в качестве элемента запуска, скомпилируйте и создайте файл luac.exe в каталоге выпуска папки проекта.


(3) Проект по созданию переводчика lua:
Шаги аналогичны шагам (2) построения проекта интерпретатора lua, с той лишь разницей, что при добавлении исходного файла в src файл luac.c не добавляется, а остальные добавляются.
После сборки проекта в соответствии с шагами интерфейс после компиляции и запуска выглядит следующим образом:


В каталоге выпусков каталога проекта есть дополнительный файл lua.exe


Затем вы можете использовать уже сгенерированный компилятор и интерпретатор lua для написания простого скрипта, затем скомпилировать и запустить
(1) Новый скрипт test.lua

(2) Введите cmd, перейдите в каталог файлов Luac.exe, введите luac ./test.lua и нажмите Enter, чтобы создать файл luac.out в текущем каталоге.



Затем введите lua luac.out Enter и распечатайте заявление hello world


Фактически, в среде разработки Lua можно использовать множество сторонних IDE, поскольку они еще не используются, они будут добавлены в эту статью позже.

Написано 3 августа 2016 г.
Шэньчжэнь
young

Читайте также: