Difference between revisions of "Lua5.3 Mac OS X"
m |
m (→(не очень) Долго) |
||
| (13 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 | ||
| − | 2. необходимо скачать собранную библиотеку Lua для MacOSX http://luabinaries.sourceforge.net/download.html ([http://sourceforge.net/projects/luabinaries/files/5.3.2/Other%20Libraries/lua-5.3.2_MacOS1011_lib.tar.gz/download lua-5.3.2_MacOS1011_lib.tar.gz]). Но можно собрать из исходников, как указано на официальном сайте. | + | 2. <s>необходимо скачать собранную библиотеку Lua для MacOSX http://luabinaries.sourceforge.net/download.html ([http://sourceforge.net/projects/luabinaries/files/5.3.2/Other%20Libraries/lua-5.3.2_MacOS1011_lib.tar.gz/download lua-5.3.2_MacOS1011_lib.tar.gz]). Но можно собрать из исходников, как указано на официальном сайте.</s> |
| + | |||
| + | Библиотеку нужно собрать из исходников, чтобы была поддержка 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, т.к. заголовочный файл поддерживает только динамическую загрузку. | ||
| + | [[Image:Liblua_dylib_image.png]] | ||
| + | |||
| + | 3. Создать Application проект Lazarus-а | ||
| + | |||
| + | 3.1. Сохранить и скомпилировать/запустить. Lazarus должен будет создать bundle для проекта. | ||
| + | |||
| + | 4. Скопировать lua53.pas в папку с проекта | ||
| + | |||
| + | [[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 23: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 в папку с проекта




