вівторок, 1 березня 2011 р.

Сборка Lua в Code::Blocks

Для работы нам понадобится последняя версия Lua.
Открываем Code:: Blocks и создаем новый проект Dynamic Link Library. Далее в Project title вписываем Lua, путь пусть останется C:\. Компилятор я оставил GNU GCC Compiler, вы можете выбрать свой, нажимаем Finish. Необходимо удалить стандартные файлы main.cpp и main.h из проекта. 

Создаем две новые папки в директории созданного проекта Lua, include и src. Распаковываем архив с исходниками Lua. В распакованной папке из папки src копируем все .h файлы в папку include нашего проекта, а все файлы .c в папку src нашего проекта. Далее в Code:: Blocks нажимаем Add files ... и добавляем все .c файлы из папки src нашего проекта.

 

 














Далее опять нажимаем Add files ... и добавляем все .h файлы из папки include нашего проекта. Теперь удаляем из проекта файлы lua.c и luac.c, это исходники интерпретатора он нам в dll не понадобится. Нажимаем Project -> Build options ..., и в окне Project build options переходим на вкладку Search directories. Жмем на кнопку Add, выбираем папку include нашего проекта, жмем ок, да, ок.  Все, дальше собираем проект, и в папке bin-> debug находим наши Lua.dll и libLua.dll.a. 



 













Теперь для тестирования. Dll собирем интерпретатор lua. Создаем новый проект Console application в Project title вписываем LuaInterpreter, путь C:\. Удаляем файл main.cpp из проекта, далее жмем Add files ... и добавляем файл lua.c из папки include проекта Lua. 

Далее открываем Project-> Build options ..., переходим на вкладку Linker settings, жмете Add, и выбираем нашу скомпилированую библиотеку libLua.dll.a, которая находится по пути C:\ Lua\bin\Debug\libLua.dll.a, жмем ОК.

Переходим на вкладку Search directories, жмем Add и выбираем папку C:\Lua\include, жмем ОК, тогда в окне Project build options жмем ОК. 

Далее копируем C:\Lua\bin\Debug\Lua.dll в папку C:\LuaInterpreter\bin\Debug\.
 


Собираем проект, после чего видим окно консоли, это и есть интерпретатор Lua, для теста пишем print ("Hello World!") и смотрим на результат.




 








Пост написана на основе этой статьи. 

Немає коментарів:

Дописати коментар