Difference between revisions of "Lua5.3 Mac OS X"
m (→Установка) |
m (→(не очень) Долго) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Как использовать Lua 5.3 в проектах MacOSX | Как использовать Lua 5.3 в проектах MacOSX | ||
− | ==Установка== | + | ==Быстро и 64-хбитно== |
+ | Быстро можно получить результат в том, случае если не собирать библиотеку для Lua под i386. | ||
+ | |||
+ | В общем доступе имеется [http://luabinaries.sourceforge.net/download.html 64-битная Lua библиотека (lua-5.3.2_MacOS1011_lib.tar.gz)]. | ||
+ | |||
+ | Необходимо создать "Program" проект в Лазарусе. | ||
+ | |||
+ | Задать тип компилятора x86_64. (установленный FPC должен поддерживать x86_64) | ||
+ | |||
+ | [[Image:Cputype.png]] | ||
+ | |||
+ | Скопировать файл динамической библиотеку lua53.dylib. | ||
+ | |||
+ | Скопировать файл lua53.pas в папку с проектом, и добавить lua53 в uses. | ||
+ | |||
+ | [[Image:Lua64console.png]] | ||
+ | |||
+ | Подправить lua53.pas и добавить имя библиотеки в случае компилирования для darwin | ||
+ | |||
+ | [[Image:Dylibheader.png]] | ||
+ | |||
+ | Добавить код который инициализации Lua и собственно Lua скрипт. ([http://lua-users.org/wiki/LuaInFreePascal Источник кода]) | ||
+ | |||
+ | Добавить линковку библиотеки ''{$linklib liblua53.dylib}'' | ||
+ | |||
+ | program project1; | ||
+ | |||
+ | {$mode objfpc}{$H+} | ||
+ | {$linklib liblua53.dylib} // обязательная линковка библиотеки | ||
+ | |||
+ | uses | ||
+ | {$IFDEF UNIX}cthreads,{$ENDIF} | ||
+ | Classes, lua53 | ||
+ | { you can add units after this }; | ||
+ | |||
+ | var | ||
+ | L: Plua_State; | ||
+ | result: integer; | ||
+ | |||
+ | begin | ||
+ | L := luaL_newstate(); | ||
+ | luaL_openlibs(L); | ||
+ | result := luaL_dostring(L, 'print ("`Hélène` has "..utf8.len"Hélène".." UTF8 characters.")'); | ||
+ | lua_close(L); | ||
+ | end. | ||
+ | |||
+ | |||
+ | Скомпилировать проект и запустить. | ||
+ | |||
+ | ==(не очень) Долго== | ||
+ | |||
+ | ===Установка=== | ||
1. необходимо скачать заголовочный файл для паскаля. Репозитарий https://github.com/malcome/Lua4Lazarus, единственный необходимый файл lua53.pas | 1. необходимо скачать заголовочный файл для паскаля. Репозитарий https://github.com/malcome/Lua4Lazarus, единственный необходимый файл lua53.pas | ||
Line 7: | Line 58: | ||
Библиотеку нужно собрать из исходников, чтобы была поддержка i386 архитектуры. | Библиотеку нужно собрать из исходников, чтобы была поддержка i386 архитектуры. | ||
+ | |||
+ | Инструкции http://blog.spreendigital.de/2015/01/22/how-to-compile-lua-5-3-0-as-a-mac-os-x-dynamic-library | ||
2.1. Необходима динамическая библиотека liblua5.3.dylib, т.к. заголовочный файл поддерживает только динамическую загрузку. | 2.1. Необходима динамическая библиотека liblua5.3.dylib, т.к. заголовочный файл поддерживает только динамическую загрузку. | ||
Line 19: | Line 72: | ||
[[Image:Lua53_pas_at_project.png]] | [[Image:Lua53_pas_at_project.png]] | ||
+ | |||
+ | ==Ссылки== | ||
+ | * [http://www.lua.org официальный сайт] | ||
+ | * [http://luabinaries.sourceforge.net/download.html бинарный сборки для Win и MacOSX] | ||
+ | * [http://lua-users.org/wiki/LuaInFreePascal Lua in Freepascal] | ||
[[Category:Ru]] | [[Category:Ru]] |
Latest revision as of 22:38, 29 December 2015
Как использовать Lua 5.3 в проектах MacOSX
Быстро и 64-хбитно
Быстро можно получить результат в том, случае если не собирать библиотеку для Lua под i386.
В общем доступе имеется 64-битная Lua библиотека (lua-5.3.2_MacOS1011_lib.tar.gz).
Необходимо создать "Program" проект в Лазарусе.
Задать тип компилятора x86_64. (установленный FPC должен поддерживать x86_64)
Скопировать файл динамической библиотеку lua53.dylib.
Скопировать файл lua53.pas в папку с проектом, и добавить lua53 в uses.
Подправить lua53.pas и добавить имя библиотеки в случае компилирования для darwin
Добавить код который инициализации Lua и собственно Lua скрипт. (Источник кода)
Добавить линковку библиотеки {$linklib liblua53.dylib}
program project1; {$mode objfpc}{$H+} {$linklib liblua53.dylib} // обязательная линковка библиотеки uses {$IFDEF UNIX}cthreads,{$ENDIF} Classes, lua53 { you can add units after this }; var L: Plua_State; result: integer; begin L := luaL_newstate(); luaL_openlibs(L); result := luaL_dostring(L, 'print ("`Hélène` has "..utf8.len"Hélène".." UTF8 characters.")'); lua_close(L); end.
Скомпилировать проект и запустить.
(не очень) Долго
Установка
1. необходимо скачать заголовочный файл для паскаля. Репозитарий https://github.com/malcome/Lua4Lazarus, единственный необходимый файл lua53.pas
2. необходимо скачать собранную библиотеку Lua для MacOSX http://luabinaries.sourceforge.net/download.html (lua-5.3.2_MacOS1011_lib.tar.gz). Но можно собрать из исходников, как указано на официальном сайте.
Библиотеку нужно собрать из исходников, чтобы была поддержка i386 архитектуры.
Инструкции http://blog.spreendigital.de/2015/01/22/how-to-compile-lua-5-3-0-as-a-mac-os-x-dynamic-library
2.1. Необходима динамическая библиотека liblua5.3.dylib, т.к. заголовочный файл поддерживает только динамическую загрузку.
3. Создать Application проект Lazarus-а
3.1. Сохранить и скомпилировать/запустить. Lazarus должен будет создать bundle для проекта.
4. Скопировать lua53.pas в папку с проекта