Страница 1 из 2

libgd для windows как?

СообщениеДобавлено: 11.12.2009 17:57:30
zmey
Понимаю, что дурак, но объясните, плиз. Под freebsd никаких проблем, libgd из портов установлена, gdtest.pp из примеров fpc компилируется.
Как и куда класть скачанную руками libgd под виндой, чтобы fpc нашел библиотеку, а не ругался:

Код: Выделить всё
C:\work>fpc gdtest.pp
Free Pascal Compiler version 2.2.4 [2009/04/10] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Win32 for i386
Compiling gdtest.pp
gdtest.pp(6,3) Note: Local variable "black" is assigned but never used
gdtest.pp(13,3) Note: Local variable "s2" not used
gdtest.pp(14,3) Note: Local variable "points" not used
gdtest.pp(16,3) Note: Local variable "styleDotted" is assigned but never used
Linking gdtest.exe
gdtest.pp(78,1) Error: Import library not found for c
gdtest.pp(78,1) Error: Import library not found for m
gdtest.pp(78,1) Error: Import library not found for png
gdtest.pp(78,1) Error: Import library not found for gd
gdtest.pp(78,1) Error: Undefined symbol: _gdFontLarge
gdtest.pp(78,1) Fatal: There were 5 errors compiling module, stopping
Fatal: Compilation aborted
Error: C:\FPC\2.2.4\bin\i386-Win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)

Re: libgd для windows как?

СообщениеДобавлено: 11.12.2009 18:03:44
AbakAngelSoft
Где скачал? Тоже очень нужно!
А класть либо рядом с проектом, либо там куда его собираешь, либо в system32

Re: libgd для windows как?

СообщениеДобавлено: 11.12.2009 18:07:39
zmey
AbakAngelSoft писал(а):Где скачал? Тоже очень нужно!
А класть либо рядом с проектом, либо там куда его собираешь, либо в system32


Взял тут: http://www.libgd.org/releases/gd-latest-win32.zip. В архиве, все честно /bin /include /lib, только как компилячить не понимаю.
Выложил все это барахло в с:\tools\libgd и хлопаю глазками. -Flс:\tools\libgd\lib успеха не принесло

Re: libgd для windows как?

СообщениеДобавлено: 11.12.2009 18:18:19
AbakAngelSoft
Я этот архив тоже скачивал, вроде бы нужно использовать bgd.dll но как это делать не ясно :(

Re: libgd для windows как?

СообщениеДобавлено: 11.12.2009 23:06:22
Verx0Laz
Не знаю, насколько поможет, но вот:
http://old.nabble.com/using-bgd.dll-on- ... 06087.html
http://forum.codenet.ru/archive/index.php/t-52002.html
Статьи для сишников, но, думаю, перевести на лазарь особого труда не составит. Сам в сях не спец, но на этом форуме есть те, кто сможет... если захочет, конечно :)

Re: libgd для windows как?

СообщениеДобавлено: 12.12.2009 00:25:10
Mr.Smart
Verx0Laz
Не ну конечно перевести можно. Вот только интересно для чего эта библиотека?
з.ы. Лень читать. Сёдня пятница как ни как :oops:

Re: libgd для windows как?

СообщениеДобавлено: 12.12.2009 12:27:53
Verx0Laz
Mr.Smart писал(а):Verx0Laz
Не ну конечно перевести можно. Вот только интересно для чего эта библиотека?
з.ы. Лень читать. Сёдня пятница как ни как :oops:

Я и сам не знаю :oops:
Заметил, что у парней интерес к этой библиотека, и вся загвоздка - в использовании bgd.dll
После напряг поисковик и нашел англоязычные статьи, где, судя по структуре, довольно подробно расписаны экспорт и использование функций из этой ДЛЛки.
А теперь пусть парни сами чуток поработают - опишут, что это и зачем, если конечно им это действительно надо.

Re: libgd для windows как?

СообщениеДобавлено: 13.12.2009 00:05:56
giao
Понимаю, что дурак, но объясните, плиз. Под freebsd никаких проблем, libgd из портов установлена, gdtest.pp из примеров fpc компилируется.
Как и куда класть скачанную руками libgd под виндой, чтобы fpc нашел библиотеку, а не ругался:

а почему в компиляторе в опциях (libraries) не указать путь к нужной dll?

Re: libgd для windows как?

СообщениеДобавлено: 13.12.2009 00:46:11
zmey
giao писал(а):а почему в компиляторе в опциях (libraries) не указать путь к нужной dll?


Уже перепробовал массу вариантов (результат всегда один, под виндой не линкуется). Среди них есть даже такой:
Код: Выделить всё
C:\work>fpc -FiC:\FPC\2.2.4\libgd\include -FlC:\FPC\2.2.4\libgd\lib;C:\FPC\2.2.4\libgd\lib -FuC:\FPC\2.2.4\libgd\bin;C:\FPC\2.2.4\libgd\lib -FoC:\FPC\2.2.4\libgd\lib;C:\FPC\2.2.4\libgd\bin
Free Pascal Compiler version 2.2.4 [2009/04/10] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Fatal: No source file name in command line
Fatal: Compilation aborted
Error: C:\FPC\2.2.4\bin\i386-Win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)

C:\work>fpc -FiC:\FPC\2.2.4\libgd\include -FlC:\FPC\2.2.4\libgd\lib -FuC:\FPC\2.2.4\libgd\bin;C:\FPC\2.2.4\libgd\lib -FoC:\FPC\2.2.4\libgd\lib;C:\FPC\2.2.4\libgd\bin gdtest.pp
Free Pascal Compiler version 2.2.4 [2009/04/10] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Win32 for i386
Compiling gdtest.pp
gdtest.pp(6,3) Note: Local variable "black" is assigned but never used
gdtest.pp(13,3) Note: Local variable "s2" not used
gdtest.pp(14,3) Note: Local variable "points" not used
gdtest.pp(16,3) Note: Local variable "styleDotted" is assigned but never used
Linking gdtest.exe
gdtest.pp(78,1) Error: Import library not found for c
gdtest.pp(78,1) Error: Import library not found for m
gdtest.pp(78,1) Error: Import library not found for png
gdtest.pp(78,1) Error: Import library not found for gd
gdtest.pp(78,1) Error: Undefined symbol: _gdFontLarge
gdtest.pp(78,1) Fatal: There were 5 errors compiling module, stopping
Fatal: Compilation aborted
Error: C:\FPC\2.2.4\bin\i386-Win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)


Под FreeBSD собирается на ура:
Код: Выделить всё
[zmey@nightfall] /work/prg/arrvision_cli> fpc gdtest.pp
Free Pascal Compiler version 2.2.4 [2009/10/25] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: FreeBSD/ELF for i386
Compiling gdtest.pp
gdtest.pp(6,3) Note: Local variable "black" is assigned but never used
gdtest.pp(13,3) Note: Local variable "s2" not used
gdtest.pp(14,3) Note: Local variable "points" not used
gdtest.pp(16,3) Note: Local variable "styleDotted" is assigned but never used
Linking gdtest
78 lines compiled, 1.3 sec
4 note(s) issued
[zmey@nightfall] /work/prg/arrvision_cli>

Re: libgd для windows как?

СообщениеДобавлено: 13.12.2009 04:21:10
Verx0Laz
Змей, ты меня извини, но что-то уж слишком сложно ты мыслишь.... наверняка всё намного проще. Думай...

Re: libgd для windows как?

СообщениеДобавлено: 13.12.2009 09:53:38
Sergei I. Gorelkin
Я, если честно, не понимаю, как можно таких проблем на ровном месте нахватать.

У меня gdtest.pp под виндой собирается командой fpc gdtest.pp безо всяких дополнительных ключей вообще. И даже не скачивая архив с библиотекой.

Re: libgd для windows как?

СообщениеДобавлено: 13.12.2009 15:35:13
AbakAngelSoft
gd бесплатная кроссплатформенная библиотека для быстрой работы с форматами изображений для web. Позволяет на лету создавать png с alpha каналом и прочие вкусности не копаясь в ассемблере и форматах файлов.
Сегодня вечером попробую откомпилировать gdtest.pp. Не подозревал о его существовании. :(

Re: libgd для windows как?

СообщениеДобавлено: 13.12.2009 20:01:54
zmey
Sergei I. Gorelkin писал(а):Я, если честно, не понимаю, как можно таких проблем на ровном месте нахватать.

У меня gdtest.pp под виндой собирается командой fpc gdtest.pp безо всяких дополнительных ключей вообще. И даже не скачивая архив с библиотекой.


И я не понимаю. Винда сежеустановленная в виртуалке. FPC тоже свежескаченный. Результат все тот же.

Добавлено спустя 1 минуту 5 секунд:
Verx0Laz писал(а):Змей, ты меня извини, но что-то уж слишком сложно ты мыслишь.... наверняка всё намного проще. Думай...


Куда уж проще-то? :)

Добавлено спустя 6 минут 40 секунд:
AbakAngelSoft писал(а):Сегодня вечером попробую откомпилировать gdtest.pp. Не подозревал о его существовании. :(


Надеюсь и уповаю. Либо рассказывайте, как в паскале принято работать с png и gif'ами. Цель создавать за раз пару сотен файлов с простейшими рисунками вида: прямоугольники, бэкграунд градиент, рамочки по периметру, в центре текст.

Re: libgd для windows как?

СообщениеДобавлено: 14.12.2009 11:27:48
AbakAngelSoft
При компиляции gdtest та же самая проблема. :(
Решение: перенести и положить рядом с ней копию gd.pp. Исправить gd.pp (обрамить директивами условной компиляции статическую линковку указанных библиотек).
Приложение собирается, но работать отказывается категорически. Если положить рядом bgd.dll, скачанную с официального сайта gd, при запуске говорит что библиотека gd.dll не найдена (что естественно). Если переименовать в gd.dll, то сообщает что не найдена точка входа в процедуру...

Sergei I. Gorelkin
Какая у Вас версия лазаря и fpc? Нет ли у Вас в системе файла gd.dll установленного вместе с каким либо графическим пакетом? Если есть что это за пакет или приложение?

Re: libgd для windows как?

СообщениеДобавлено: 14.12.2009 12:44:28
Sergei I. Gorelkin
У меня все из svn, обновление почти ежедневное :)
Там уже исправлены имена библиотек, так что оно линкуется к вроде бы правильным bgd.dll и msvcrt.dll, вместо линуксовых gd и libc.

gd.dll в системе нет, без bgd.dll приложение не запускается (что ожидаемо).