Latest post of the previous page:
В последние год-два собираю плагины с помощью:gcc.EXE (tdm-1) 4.7.1 -- для x86
gcc.EXE (tdm64-1) 4.7.1 -- для x64
Для обоих вариантов - sjlj. О каких-либо проблемах с этим мне пока не известно.
Latest post of the previous page:
В последние год-два собираю плагины с помощью:Code: Select all
g++ -c -o luaplug.o D:\Development\farmanager\unicode_far\..\plugins\luamacro\luafar/luaplug.c
In file included from D:\Development\farmanager\unicode_far\..\plugins\luamacro\luafar/luaplug.c:4:0:
D:\Development\farmanager\unicode_far\..\plugins\luamacro\luafar/luafar.h:4:22: fatal error: plugin.hpp: No such file or directory
#include <plugin.hpp>
^
compilation terminated.
<builtin>: recipe for target 'luaplug.o' failed
mingw32-make.exe: *** [luaplug.o] Error 1
К сожалению нет, ведь запускаю именно оттуда.
Результат прежний (пытался собрать с помощью http://sourceforge.net/projects/mingw-w ... z/download).
Какие правки необходимы?
PATH_LIBS = $(FARDIR)\Release.$(DIRBIT).vc
Данная проблема (попробовал, да, имеет место с пакетом mingw-builds, не знал раньше об этом) и её возможные решения описаны здесь.John Doe wrote: Результат прежний (пытался собрать с помощью http://sourceforge.net/projects/mingw-w ... z/download).
Вижу там два варианта решения:
A more appropriate solution is to provide your own rule ... either an explicit rule, or a pattern rule, to direct mingw32-make to use $(CC) for compiling *.c (and *.C) files, so that the built-in default rules will not apply.
MinGW developers don't really like mingw32-make; we advocate the use of MinGW.org's complementary MSYS platform tools, and the make which they include, as a better alternative.
Сейчас tdm64 может собирать плагины и для x86, и для x64 (аналогично и MinGW-w64).Shmuel wrote:В последние год-два собираю плагины с помощью:
gcc.EXE (tdm-1) 4.7.1 -- для x86
gcc.EXE (tdm64-1) 4.7.1 -- для x64
Для обоих вариантов - sjlj. О каких-либо проблемах с этим мне пока не известно.
Так было и раньше (во всяком случае, для TDM64 GCC 7.1 это так). Но "простой" TDM делает по умолчанию длл-ку = 10.5 KB, а TDM64 = 35.5 KB (для x86). Не стал разбираться, в чём дело, просто для x86 продолжаю собирать "простым" TDM.
make -f luaplug.mak
приводит к такой ошибке:Code: Select all
gcc -O2 -Wall -I..\..\..\..\plugins\common\unicode -I..\..\..\..\plugins\luamacro\luafar\..\luasdk\include -m32 -c luaplug.c -o luaplug.o
In file included from luaplug.c:4:0:
luafar.h:4:22: fatal error: plugin.hpp: No such file or directory
compilation terminated.
luaplug.mak:42: recipe for target 'luaplug.o' failed
mingw32-make.exe: *** [luaplug.o] Error 1
Code: Select all
ifndef FARDIR
FARDIR = ..\..\..\..
endif
\..
, видимо забыли исправить.Да, это ошибка. Она у меня не проявляется ни в одном плагине, т.к. каждый плагин сам определяет переменную FARDIR (как абсолютный путь). Тем не менее, спасибо, исправлю.
На момент написания всё было правильно, сломалось в результате модификации через полгода. Полагаю, что подобных сообщений (и не только моих), которые содержат неработающий на данный момент код, полно в форуме.
Ну свои я например правлю, или добавляю ссылки на рабочий код...
PATH_LIBS = $(FARDIR)\unicode_far\Release.$(DIRBIT).vc