Difference between revisions of "Lua5.3 Mac OS X"

From havefunsoft wiki
Jump to: navigation, search
m (Быстро и 64-хбитно)
m ((не очень) Долго)
 
(4 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
==Быстро и 64-хбитно==
 
==Быстро и 64-хбитно==
Быстро можно получить результат в том, случае если не собирать библиотеку для Lua под i386. В общем доступе имеется [url= http://luabinaries.sourceforge.net/download.html]64-битная Lua библиотека (lua-5.3.2_MacOS1011_lib.tar.gz)[/url].
+
Быстро можно получить результат в том, случае если не собирать библиотеку для 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 lua53.dylib}''
+
Добавить линковку библиотеки ''{$linklib liblua53.dylib}''
  
 
  program project1;
 
  program project1;
 
   
 
   
 
  {$mode objfpc}{$H+}
 
  {$mode objfpc}{$H+}
  {$linklib lua53.dylib} // обязательная линковка библиотеки
+
  {$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)

Cputype.png

Скопировать файл динамической библиотеку lua53.dylib.

Скопировать файл lua53.pas в папку с проектом, и добавить lua53 в uses.

Lua64console.png

Подправить lua53.pas и добавить имя библиотеки в случае компилирования для darwin

Dylibheader.png

Добавить код который инициализации 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, т.к. заголовочный файл поддерживает только динамическую загрузку.

Liblua dylib image.png

3. Создать Application проект Lazarus-а

3.1. Сохранить и скомпилировать/запустить. Lazarus должен будет создать bundle для проекта.

4. Скопировать lua53.pas в папку с проекта

Lua53 pas at project.png

Ссылки