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

From havefunsoft wiki
Jump to: navigation, search
m (Установка)
m (Установка)
Line 1: Line 1:
 
Как использовать Lua 5.3 в проектах MacOSX
 
Как использовать Lua 5.3 в проектах MacOSX
  
==Установка==
+
==Быстро и 64-хбитно==
 +
Быстро можно получить результат в том, случае если не собирать библиотеку для Lua под i386. В общем доступе имеется [url= http://luabinaries.sourceforge.net/download.html]64-битная Lua библиотека (lua-5.3.2_MacOS1011_lib.tar.gz)[/url].
 +
 
 +
Необходимо создать "Program" проект в Лазарусе.
 +
 
 +
Задать тип компилятора x86_64. (установленный FPC должен поддерживать x86_64)
 +
 
 +
Скопировать файл lua53.pas в папку с проектом, и добавить lua53 в uses.
 +
 
 +
[[Image:Cputype.png]]
 +
 
 +
Подправить lua53.pas и добавить имя библиотеки в случае компилирования для darwin
 +
 
 +
[[Image:Dylibheader.png]]
 +
 
 +
В проект внести линковку динамической библиотеки lua53.dylib. И добавить код, который будет исполнятся
 +
 
 +
program project1;
 +
 +
{$mode objfpc}{$H+}
 +
{$linklib lua53.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.
 +
 
 +
 
 +
Скопировать lua53.dylib библиотеку в папку с проектом
 +
 
 +
[[Image:Lua64console.png]]
 +
 
 +
Скомпилировать проект и запустить.
 +
 
 +
===(не очень) Долго===
 +
 
 +
====Установка====
 
1. необходимо скачать заголовочный файл для паскаля. Репозитарий https://github.com/malcome/Lua4Lazarus, единственный необходимый файл lua53.pas
 
1. необходимо скачать заголовочный файл для паскаля. Репозитарий https://github.com/malcome/Lua4Lazarus, единственный необходимый файл lua53.pas
  

Revision as of 22:24, 29 December 2015

Как использовать Lua 5.3 в проектах MacOSX

Быстро и 64-хбитно

Быстро можно получить результат в том, случае если не собирать библиотеку для Lua под i386. В общем доступе имеется [url= http://luabinaries.sourceforge.net/download.html]64-битная Lua библиотека (lua-5.3.2_MacOS1011_lib.tar.gz)[/url].

Необходимо создать "Program" проект в Лазарусе.

Задать тип компилятора x86_64. (установленный FPC должен поддерживать x86_64)

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

Cputype.png

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

Dylibheader.png

В проект внести линковку динамической библиотеки lua53.dylib. И добавить код, который будет исполнятся

program project1;

{$mode objfpc}{$H+}
{$linklib lua53.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.


Скопировать lua53.dylib библиотеку в папку с проектом

Lua64console.png

Скомпилировать проект и запустить.

(не очень) Долго

Установка

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