From https://imagemagick.org/script/download.php#windows, download https://imagemagick.org/archive/binaries/ImageMagick-7.1.2-3-Q16-HDRI-x64-dll.exe.
Execute the downloaded file (by double-clicking on it) to install ImageMagick.

I elected (when prompted) to install into C:\d\ImageMagick-7.1.2-Q16-HDRI, rather than into "Program Files".
(I still avoid installing stuff into a directory whose name so needlessly and pointlessly contains whitespace.)

In the "Select Additional Tasks" pop-up I additionally selected:
Install legacy utilities (e.g.identify) Install development headers for C and C++
The first of those 2 options might not be needed (dunno), but the second is required.
I did not select the option that would install PerlMagick for Strawberry Perl. (Not brave enough ;-)
I was a little hesitant to accept the already selected option of "Add application directory to your system path".
I don't think I did that last time. Instead I would just add the appropriate directory (which would now be "C:\d\ImageMagick-7.1.2-Q16-HDRI") to the PATH, when needed. (I won't have to do that now.)

That's it for ImageMagick - all set to go once the perl module Image-Magick-7.1.2 has been built and installed.

Download the Image::Magick source and unpack it into some location, and then cd into the top level folder (ie the one that contains the Makefile.PL).
For me, having unpacked that source into the D:\w\image-magick folder, I then had to cd into D:\w\image-magick\Image-Magick-7.1.2.

Next thing is to make a small correction to the Makefile.PL.
In that file, locate the line "#'CC' => 'gcc -std=gnu99 -std=gnu99'," and change it to"'CC' => 'g++',"

At this point you can simply run "cpan ." and that should build, test and install Image-Magick-7.1.2 for you.

Or you can perform the same task in stages, as follows:
Firstly run "perl Makefile.PL":
D:\w\image-magick\Image-Magick-7.1.2>perl Makefile.PL Gonna create 'libMagickCore.a' from 'C:\d\ImageMagick-7.1.2-Q16-HDRI\C +ORE_RL_MagickCore_.dll' Checking if your kit is complete... Looks good Warning (mostly harmless): No library found for Generating a gmake-style Makefile Writing Makefile for Image::Magick Writing MYMETA.yml and MYMETA.json
Then run "gmake":
D:\w\image-magick\Image-Magick-7.1.2>gmake cp Magick.pm blib\lib\Image\Magick.pm AutoSplitting blib\lib\Image\Magick.pm (blib\lib\auto\Image\Magick) Running Mkbootstrap for Magick () "C:\perl-5.42.0-1510-ucrt-pos\bin\MSWin32-x64-multi-thread\perl.exe" - +MExtUtils::Command -e chmod -- 644 "Magick.bs" "C:\perl-5.42.0-1510-ucrt-pos\bin\MSWin32-x64-multi-thread\perl.exe" - +MExtUtils::Command::MM -e cp_nonempty -- Magick.bs blib\arch\auto\Ima +ge\Magick\Magick.bs 644 "C:\perl-5.42.0-1510-ucrt-pos\bin\MSWin32-x64-multi-thread\perl.exe" " +C:\perl-5.42.0-1510-ucrt-pos\lib\ExtUtils/xsubpp" -typemap C:\perl-5 +.42.0-1510-ucrt-pos\lib\ExtUtils\typemap -typemap D:\w\image-magick\I +mage-Magick-7.1.2\typemap Magick.xs > Magick.xsc "C:\perl-5.42.0-1510-ucrt-pos\bin\MSWin32-x64-multi-thread\perl.exe" - +MExtUtils::Command -e mv -- Magick.xsc Magick.c g++ -c -I"C:\d\ImageMagick-7.1.2-Q16-HDRI\include" -DWIN32 -DWIN64 -f +diagnostics-color=never -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL +_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-stri +ct-aliasing -mms-bitfields -O2 -DVERSION=\"7.1.1\" -DXS_VERSION=\"7 +.1.1\" "-IC:\perl-5.42.0-1510-ucrt-pos\lib\MSWin32-x64-multi-thread\ +CORE" -D_LARGE_FILES=1 -DHAVE_CONFIG_H Magick.c "C:\perl-5.42.0-1510-ucrt-pos\bin\MSWin32-x64-multi-thread\perl.exe" - +MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Image::Magick\", 'DLBASE' => 'Magick', ' +DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => +[]);" g++ Magick.def -o blib\arch\auto\Image\Magick\Magick.dll -shared -s -L +"C:\perl-5.42.0-1510-ucrt-pos\lib\MSWin32-x64-multi-thread\CORE" -L"C +:\winpos-ucrt-1510\mingw64\lib" -L"C:\winpos-ucrt-1510\mingw64\x86_64 +-w64-mingw32\lib" -L"C:\winpos-ucrt-1510\mingw64\lib\gcc\x86_64-w64-m +ingw32\15.1.0" -L"D:/w/image-magick/Image-Magick-7.1.2" -L"C:\d\Image +Magick-7.1.2-Q16-HDRI\lib" Magick.o "C:\perl-5.42.0-1510-ucrt-pos\ +lib\MSWin32-x64-multi-thread\CORE\libperl542.a" "libMagickCore.a" "C: +\winpos-ucrt-1510\mingw64\x86_64-w64-mingw32\lib\libmoldname.a" "C:\w +inpos-ucrt-1510\mingw64\x86_64-w64-mingw32\lib\libkernel32.a" "C:\win +pos-ucrt-1510\mingw64\x86_64-w64-mingw32\lib\libuser32.a" "C:\winpos- +ucrt-1510\mingw64\x86_64-w64-mingw32\lib\libgdi32.a" "C:\winpos-ucrt- +1510\mingw64\x86_64-w64-mingw32\lib\libwinspool.a" "C:\winpos-ucrt-15 +10\mingw64\x86_64-w64-mingw32\lib\libcomdlg32.a" "C:\winpos-ucrt-1510 +\mingw64\x86_64-w64-mingw32\lib\libadvapi32.a" "C:\winpos-ucrt-1510\m +ingw64\x86_64-w64-mingw32\lib\libshell32.a" "C:\winpos-ucrt-1510\ming +w64\x86_64-w64-mingw32\lib\libole32.a" "C:\winpos-ucrt-1510\mingw64\x +86_64-w64-mingw32\lib\liboleaut32.a" "C:\winpos-ucrt-1510\mingw64\x86 +_64-w64-mingw32\lib\libnetapi32.a" "C:\winpos-ucrt-1510\mingw64\x86_6 +4-w64-mingw32\lib\libuuid.a" "C:\winpos-ucrt-1510\mingw64\x86_64-w64- +mingw32\lib\libws2_32.a" "C:\winpos-ucrt-1510\mingw64\x86_64-w64-ming +w32\lib\libmpr.a" "C:\winpos-ucrt-1510\mingw64\x86_64-w64-mingw32\lib +\libwinmm.a" "C:\winpos-ucrt-1510\mingw64\x86_64-w64-mingw32\lib\libv +ersion.a" "C:\winpos-ucrt-1510\mingw64\x86_64-w64-mingw32\lib\libodbc +32.a" "C:\winpos-ucrt-1510\mingw64\x86_64-w64-mingw32\lib\libodbccp32 +.a" "C:\winpos-ucrt-1510\mingw64\x86_64-w64-mingw32\lib\libcomctl32.a +" -Wl,--enable-auto-image-base "C:\perl-5.42.0-1510-ucrt-pos\bin\MSWin32-x64-multi-thread\perl.exe" - +MExtUtils::Command -e chmod -- 755 blib\arch\auto\Image\Magick\Magick +.dll
Then run "gmake test":
D:\w\image-magick\Image-Magick-7.1.2>gmake test "C:\perl-5.42.0-1510-ucrt-pos\bin\MSWin32-x64-multi-thread\perl.exe" - +MExtUtils::Command::MM -e cp_nonempty -- Magick.bs blib\arch\auto\Ima +ge\Magick\Magick.bs 644 "C:\perl-5.42.0-1510-ucrt-pos\bin\MSWin32-x64-multi-thread\perl.exe" " +-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness +::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/blob.t .......... ok t/composite.t ..... ok t/filter.t ........ ok t/getattribute.t .. ok t/montage.t ....... ok t/ping.t .......... ok t/read.t .......... ok t/setattribute.t .. ok t/write.t ......... ok All tests successful. Files=9, Tests=273, 2 wallclock secs ( 0.11 usr + 0.00 sys = 0.11 C +PU) Result: PASS
Finally, run "gmake install":
D:\w\image-magick\Image-Magick-7.1.2>gmake install "C:\perl-5.42.0-1510-ucrt-pos\bin\MSWin32-x64-multi-thread\perl.exe" - +MExtUtils::Command::MM -e cp_nonempty -- Magick.bs blib\arch\auto\Ima +ge\Magick\Magick.bs 644 Files found in blib\arch: installing files in blib\lib into architectu +re dependent library tree Installing C:\perl-5.42.0-1510-ucrt-pos\site\lib\MSWin32-x64-multi-thr +ead\auto\Image\Magick\Magick.dll Appending installation info to C:\perl-5.42.0-1510-ucrt-pos\lib\MSWin3 +2-x64-multi-thread/perllocal.pod
If something goes wrong and you want to redo the build, just run "gmake realclean" and then repeat the procedure, starting with the "perl Makefile.PL" step.

As you can see - my perl is not actually Strawberry Perl. But I get essentially the same results building with my portable edition of Strawberry Perl-5.40.0.1.
The only difference I detected is that the Strawberry Perl build emitted the following warning during the "gmake" step:
cc1plus.exe: warning: command-line option '-std=c99' is valid for C/Ob +jC but not for C++
I don't like perl being built with the "-std=c99" flag included in $Config{ccflags}, so I build my own perls such that they don't do that.
Anyway, the warning is apparently benign.

Cheers,
Rob

In reply to Re: How to install image::Magick to Strawberry Perl on Windows-10? by syphilis
in thread How to install image::Magick to Strawberry Perl on Windows-10? by gelbukh

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.