Как я могу установить графическую библиотеку Perl GD в Windows? - PullRequest
0 голосов
/ 25 мая 2011

Кому-нибудь удалось установить модуль GD для Perl (5.10) в Windows (Win7)?Обратите внимание, что, к сожалению, это не ActivePerl и не Strawberry Perl;вместо этого он скомпилирован с использованием MinGW.

Я распаковал библиотеку GD в C:\Opt\GDlib.Есть каталоги bin, lib и include.

У меня есть инструменты MinGW, расположенные в C:\Opt\MinGW\bin\*.exe, включая gcc и mingw32-make.exe (но без простого make).

Я запускаю сценарий Microsoft для установки INCLUDE, LIBPATH и LIB.

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"

Если я не сделаю этого, следующие библиотеки Windows будут обнаружены как пропавшиекогда я запускаю perl Makefile.PL:


oldnames.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
netapi32.lib
uuid.lib
ws2_32.lib
mpr.lib
winmm.lib
version.lib
odbc32.lib
odbccp32.lib
msvcrt.lib

После запуска сценария Microsoft сообщается только следующее:

Note (probably harmless): No library found for -lfreetype
    Note (probably harmless): No library found for -ljpeg
    Note (probably harmless): No library found for -lpng
    Note (probably harmless): No library found for -lz

Это предупреждение сохраняется, даже когда я добавляю C:\Opt\GDlib\bin к PATH так что бинарные файлы GD будут найдены.

Тогда я даже не уверен, что заставит звонить: mingw32-make, dmake или какой-то make, который все еще может отсутствовать?Вот вывод ошибки, который я вижу:

C:\.cpan\build\GD-2.46-baFt6a :: mingw32-make
mingw32-make: *** No rule to make target `C:\epages\Perl\libConfig.pm', needed by `Makefile'.  Stop.

C:\.cpan\build\GD-2.46-baFt6a :: dmake
dmake.exe:  Error: -- `C:\epages\Perl\libConfig.pm' not found, and can't be made

Я был бы благодарен всем, кто может пролить свет на то, что я должен делать здесь.Я подозреваю, что мне не хватает основ компиляции с использованием MinGW в Windows.

ОБНОВЛЕНИЕ - Следуя совету Нила, чтобы попробовать TDM-GCC

Вот экранвыход.Все еще безуспешно, но я полагаю, что это просто я игнорирую некоторые мелочи.В конце концов, модуль GD был построен для Strawberry и ActiveState, так что определенно есть способ.

vsvars32
set path=%path%;C:\Opt\GDlib\bin
cpan

Затем в оболочке cpan:

cpan[1]> look GD
CPAN: Storable loaded ok (v2.18)
Going to read \.cpan\Metadata
  Database was generated on Wed, 25 May 2011 13:37:34 GMT
CPAN: YAML loaded ok (v0.72)
Going to read \.cpan\build/
............................................................................DONE
Found 13 old builds, restored the state of 11
Running look for module 'GD'

Trying to open a subshell in the build directory...
Working directory is \.cpan\build\GD-2.46-baFt6a
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\.cpan\build\GD-2.46-baFt6a :: perl Makefile.PL
Notice: Type perl Makefile.PL -h for command-line option summary.

Der Befehl "gdlib-config" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
**UNRECOVERABLE ERROR**
Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher.
If you want to try to compile anyway, please rerun this script with the option --ignore_missing_gd.

C:\.cpan\build\GD-2.46-baFt6a :: perl Makefile.PL --ignore_missing_gd
Der Befehl "gdlib-config" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Where is libgd installed? [/usr/lib] C:\opt\gdlib

Please choose the features that match how libgd was built:
Build JPEG support? [y]
Build PNG support? [y]
Build FreeType support? [y]
Build GIF support? [y]
Build support for animated GIFs? [y]

If you experience compile problems, please check the @INC, @LIBPATH and @LIBS
arrays defined in Makefile.PL and manually adjust, if necessary.

Note (probably harmless): No library found for -lfreetype
Note (probably harmless): No library found for -ljpeg
Note (probably harmless): No library found for -lpng
Note (probably harmless): No library found for -lz
Writing Makefile for GD

C:\.cpan\build\GD-2.46-baFt6a :: which mingw32-make
C:\Opt\MinGW32-TDM-GCC\bin\mingw32-make.EXE

C:\.cpan\build\GD-2.46-baFt6a :: mingw32-make
mingw32-make: *** No rule to make target `C:\epages\Perl\libConfig.pm', needed by `Makefile'.  Stop.

Ответы [ 2 ]

0 голосов
/ 04 октября 2014

Вы должны собрать и установить базовую libgd , которую Perl's GD , а также другие библиотеки , упомянутые в вашей среде сборки (с использованием того же компилятора)и настройки, использованные для создания perl).

Не следует смешивать среду VC с MinGW.

Я предпочитаю придерживаться инструментов компилятора / сборки, входящих в комплект Windows SDK7.1 для всего, начиная с сборки Perl из исходного кода.

0 голосов
/ 25 мая 2011

Похоже, что есть проблема с вашей установкой MinGW. откуда ты это взял? Вы должны попробовать версию на http://tdm -gcc.tdragon.net . также этот файл .bat предназначен для компилятора Microsoft, а не для MinGW.

...