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

From havefunsoft wiki
Jump to: navigation, search
m (Установка)
m ((не очень) Долго)
 
(7 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
 
Инструкции http://blog.spreendigital.de/2015/01/22/how-to-compile-lua-5-3-0-as-a-mac-os-x-dynamic-library
  
Line 20: 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

Ссылки