DLL для LUA плагина

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: DLL для LUA плагина

Post by ladserg »

Latest post of the previous page:

Хм, мануал оказался не многословен, понял спс. Правда главу я нашел только в luafar_manual.chm.
Shmuel
Posts: 6401
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 401 times

Re: DLL для LUA плагина

Post by Shmuel »

Поверьте, что мне намного проще было бы собрать, чем объяснять.
ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: DLL для LUA плагина

Post by ladserg »

Shmuel wrote:Поверьте, что мне намного проще было бы собрать, чем объяснять.
Я как раз понял, просто подключив LUA вы значительно расширили потенциал Far Manager, теперь он может спокойно тягаться по возможностям автоматизации с Emacs, только у Emacs нет редактора, у Far'а он есть.

У меня тут при сборке матерится:

Code: Select all

C:\1\far_project\test>make
gcc -o test.dll luaplug.o -Wl,--kill-at -shared -s -m32  -LC:\1\far_project\farmanager-read-only\unicode_far\Release.32.gcc -llua51 -lluafar3
c:/language/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -llua51
c:/language/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lluafar3
collect2.exe: error: ld returned 1 exit status
make.EXE": *** [test.dll] Error 1
Это мне нужно библиотеки куда то сунуть в область видимости?
ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: DLL для LUA плагина

Post by ladserg »

ОЙ, всё, разобрался, надо было make запускать из под bash.

Вы уверены, что писателям плагинов на LUA необходимо занять такие вещи?

П.С. Осталось теперь разобраться как собирать x64 версию библиотечки :-)
Shmuel
Posts: 6401
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 401 times

Re: DLL для LUA плагина

Post by Shmuel »

У меня без bash. Да, там есть одно допущение во вставляемом мейкфайле... ладно, нет времени сейчас.
Вы уверены, что писателям плагинов на LUA необходимо занять такие вещи?
Не уверен. Но также и не уверен, что это - моя обязанность. Ну не может - не надо.
ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: DLL для LUA плагина

Post by ladserg »

Shmuel wrote:У меня без bash. Да, там есть одно допущение во вставляемом мейкфайле... ладно, нет времени сейчас.
Я там заменил

Code: Select all

DIRBIT = 32
на

Code: Select all

ifndef DIRBIT
  DIRBIT = 32
endif
Сейчас пока ломаю голову как научить mingw у меня собирать x64 бинарники
Shmuel
Posts: 6401
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 401 times

Re: DLL для LUA плагина

Post by Shmuel »

Для этого нужен MinGW64.
И комстрока наподобие: make DIRBIT=64 LUAEXE=c:\exe32\lua.exe PATH=C:\MinGW64\bin.
ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: DLL для LUA плагина

Post by ladserg »

Shmuel wrote:Для этого нужен MinGW64.
И комстрока наподобие: make DIRBIT=64 LUAEXE=c:\exe32\lua.exe PATH=C:\MinGW64\bin.
Ага, поставил сборку MinGW поддерживающую сборку x64 бинарников. А LUAEXE=c:\exe32\lua.exe для чего?
ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: DLL для LUA плагина

Post by ladserg »

Всё получилось, для полного счастья пришлось в файле $(FARDIR)\..\plugins\luamacro\luafar\luaplug.mak строки:


заменить на


Теперь файл makefile-x32 (генерация x32 версии) выглядит так:


makefile-x64:


правда каждый раз приходится удалять luaplug.o.

Сам mingw64 отсюда: (мож кому пригодится).
Shmuel
Posts: 6401
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 401 times

Re: DLL для LUA плагина

Post by Shmuel »

Не помню, команду скопировал из истории.
Возможно из-за того, что указан PATH=C:\MinGW64\bin, и из-за этого lua.exe не находится.

DIRBIT и TARGET можно указывать с комстроки, тогда ваше изменение luaplug.mak не нужно, а также можно обойтись одним мейкфайлом для x32 и x64.
ladserg
Posts: 229
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 5 times
Been thanked: 3 times

Re: DLL для LUA плагина

Post by ladserg »

Shmuel wrote:Не помню, команду скопировал из истории.
Возможно из-за того, что указан PATH=C:\MinGW64\bin, и из-за этого lua.exe не находится.

DIRBIT и TARGET можно указывать с комстроки, тогда ваше изменение luaplug.mak не нужно, а также можно обойтись одним мейкфайлом для x32 и x64.
Хм, про DIRBIT и TARGET из коммандной строки я как то не подумал.
Shmuel
Posts: 6401
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 401 times

LuaFAR — библиотека для создания плагинов на языке Lua

Post by Shmuel »

gotar wrote: использовать как образец для подражения
Для начинающих писателей LuaFAR-плагинов образец такой: http://forum.farmanager.com/viewtopic.p ... 42#p122642
gotar
Posts: 346
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time

LuaFAR — библиотека для создания плагинов на языке Lua

Post by gotar »

Для того чтобы это сработало, гдето должно быть написано

#ifdef EXPORT_OPEN
..
#endif

правильно ли я понял, и как называется этот файл? Какую версию gcc лучше использовать?
Shmuel
Posts: 6401
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 401 times

LuaFAR — библиотека для создания плагинов на языке Lua

Post by Shmuel »

gotar wrote: как называется этот файл?
Вы вполне в состоянии сами разобраться.
gotar wrote: Какую версию gcc лучше использовать?
4.7 и выше точно работают.
gotar
Posts: 346
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time

LuaFAR — библиотека для создания плагинов на языке Lua

Post by gotar »

А какую сборку gcc Вы используете?
Shmuel
Posts: 6401
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 401 times

LuaFAR — библиотека для создания плагинов на языке Lua

Post by Shmuel »

gotar wrote: А какую сборку gcc Вы используете?
У меня их несколько стоит. Это не критично.
Post Reply

Return to “Нужна помощь”