Difference between revisions of "Lua5.3 Mac OS X"
m (→Быстро и 64-хбитно) |
m (→(не очень) Долго) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
==Быстро и 64-хбитно== | ==Быстро и 64-хбитно== | ||
− | Быстро можно получить результат в том, случае если не собирать библиотеку для Lua под i386. В общем доступе имеется [http://luabinaries.sourceforge.net/download.html 64-битная Lua библиотека (lua-5.3.2_MacOS1011_lib.tar.gz)]. | + | Быстро можно получить результат в том, случае если не собирать библиотеку для Lua под i386. |
+ | |||
+ | В общем доступе имеется [http://luabinaries.sourceforge.net/download.html 64-битная Lua библиотека (lua-5.3.2_MacOS1011_lib.tar.gz)]. | ||
Необходимо создать "Program" проект в Лазарусе. | Необходимо создать "Program" проект в Лазарусе. | ||
Line 11: | Line 13: | ||
Скопировать файл динамической библиотеку lua53.dylib. | Скопировать файл динамической библиотеку lua53.dylib. | ||
+ | |||
Скопировать файл lua53.pas в папку с проектом, и добавить lua53 в uses. | Скопировать файл lua53.pas в папку с проектом, и добавить lua53 в uses. | ||
Line 19: | Line 22: | ||
[[Image:Dylibheader.png]] | [[Image:Dylibheader.png]] | ||
− | Добавить код который инициализации Lua и собственно Lua скрипт. | + | Добавить код который инициализации Lua и собственно Lua скрипт. ([http://lua-users.org/wiki/LuaInFreePascal Источник кода]) |
− | Добавить линковку библиотеки ''{$linklib | + | Добавить линковку библиотеки ''{$linklib liblua53.dylib}'' |
program project1; | program project1; | ||
{$mode objfpc}{$H+} | {$mode objfpc}{$H+} | ||
− | {$linklib | + | {$linklib liblua53.dylib} // обязательная линковка библиотеки |
uses | uses | ||
Line 47: | Line 50: | ||
Скомпилировать проект и запустить. | Скомпилировать проект и запустить. | ||
− | + | ==(не очень) Долго== | |
− | + | ===Установка=== | |
1. необходимо скачать заголовочный файл для паскаля. Репозитарий https://github.com/malcome/Lua4Lazarus, единственный необходимый файл lua53.pas | 1. необходимо скачать заголовочный файл для паскаля. Репозитарий https://github.com/malcome/Lua4Lazarus, единственный необходимый файл lua53.pas | ||
Line 69: | 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 в папку с проекта