как собрать плагины с помощью gcc из mingw?

Место, где разработчики плагинов могут поделиться своим опытом.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Собрать Far самому

Post by Shmuel »

Latest post of the previous page:

GCC-7.1
cl.dll - 11264
luamacro.dll - 11776
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Собрать Far самому

Post by John Doe »

А LuaMacro.dll в дистрибутиве 38912.
Лишние 30 Кб это конечно ерунда, но спортивный интерес присутствует.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Собрать Far самому

Post by Shmuel »

luamacro.dll и luafar3.dll в дистрибутиве собираются Visual Studio, статически, чтобы избежать зависимости от редистрибутивов Майкрософта. А цифры, приведенные мной, это "динамическая" сборка (то-есть присутствует зависимость от msvcrt.dll).
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Собрать Far самому

Post by John Doe »

Понятно.
Но cl.dll и lua.exe, собранные gcc 4.8, всё равно на 25 Кб больше чем ваши, хотя тоже зависят от msvcrt.dll
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Собрать Far самому

Post by Shmuel »

John Doe wrote:Но cl.dll и lua.exe, собранные gcc 4.8, всё равно на 25 Кб больше чем ваши, хотя тоже зависят от msvcrt.dll
Это зависит от опций компиляции и линковки. Может зависеть также от опций сборки самой GCC.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Собрать Far самому

Post by John Doe »

Если использовать один makefile, то и опции должны совпадать.
Так что скорее дело в опциях сборки GCC.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Собрать Far самому

Post by Shmuel »

Вот как примерно выглядят мои мейкфайлы для сборки Lua-библиотек:

Code: Select all

PROJECT = cl
OBJ = lcl.o

include $(PATH_SYSTEM)/_mingw.mak
Сейчас из спортивного интереса скачал gcc 4.8 c http://nuwen.net/
cl.dll - 12800 байт.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Собрать Far самому

Post by John Doe »

Да, действительно, получается что в данном случае размер больше зависит от дистрибутива mingw, чем от опций.

Собрал luajit с помощью этого "nuwen", lua5.1.dll получилась больше, чем у собранного "mingw-builds" (425472 против ~390000)

А при тех же опциях tdm-gcc-4.7.1-2 собрал dll 367104
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

GCC

Post by t-rex »

Я тут немного от жизни отстаю, где брать GCC которые собирай фар?
Скачал свежий с mingw, не собирает, towstring там что то.
Скачал свежий с mingwbuilds, там какой то кривой winapi:

Code: Select all

In file included from headers.hpp:122:0,
                 from headers.cpp:34:
c:\stuff\mingw\mingw32\i686-w64-mingw32\include\shellapi.h:191:16: error: conflicting declaration 'typedef WORD PRINTEROP_FLAGS'
   typedef WORD PRINTEROP_FLAGS;
                ^
In file included from headers.hpp:121:0,
                 from headers.cpp:34:
c:\stuff\mingw\mingw32\i686-w64-mingw32\include\shlobj.h:606:16: error: 'PRINTEROP_FLAGS' has a previous declaration as 'typedef UINT PRINTEROP_FLAGS'
   typedef UINT PRINTEROP_FLAGS;
                ^
Где взять рабочий GCC?
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: GCC

Post by Shmuel »

mingwbuilds: когда запустишь инсталлер, выбери build revision 3, а не 4. У меня работает.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: GCC

Post by t-rex »

Ну я пока ручками файл поправил, но каждый раз заново грустно от mingw.
А что это за ревижины?
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: GCC

Post by Shmuel »

t-rex wrote:А что это за ревижины?
Attachments
Clipboard01.png
Clipboard01.png (17.43 KiB) Viewed 9207 times
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: GCC

Post by DrKnS »

А у кого-то x64 получалось этим собрать?

У меня ругается на какой-то __int128, внезапно.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: GCC

Post by t-rex »

Shmuel wrote:
t-rex wrote:А что это за ревижины?
я видел их в гуи, я спрашиваю что это значит?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: GCC

Post by t-rex »

DrKnS wrote:А у кого-то x64 получалось этим собрать?

У меня ругается на какой-то __int128, внезапно.
Ни разу не пытался даже, страшно :)
User avatar
ctapmex
Posts: 1240
Joined: Fri 11 Apr, 2008 07:53
Has thanked: 1 time
Been thanked: 50 times

Re: GCC

Post by ctapmex »

ревизии - разные версии сборок компилятора, отличающиеся либо обновлением каких-либо зависимостей, либо включение исправлений наиболее существенных багов
для 4.8.1

http://sourceforge.net/projects/mingwbu ... six/dwarf/
странно , что для 4 не появилось описание
Post Reply

Return to “Разработка плагинов”