



<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8"  />
  <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no"  />
  <title>Advanced Windows Source Installation @ ImageMagick</title>
  <meta name="application-name" content="ImageMagick" />
  <meta name="description" content="Use ImageMagick® to create, edit, compose, or convert bitmap images. You can resize your image, crop it, change its shades and colors, add captions, among other operations." />
  <meta name="application-url" content="https://imagemagick.org" />
  <meta name="generator" content="PHP" />
  <meta name="keywords" content="advanced, windows, source, installation, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
  <meta name="rating" content="GENERAL" />
  <meta name="robots" content="INDEX, FOLLOW" />
  <meta name="generator" content="ImageMagick Studio LLC" />
  <meta name="author" content="ImageMagick Studio LLC" />
  <meta name="revisit-after" content="2 DAYS" />
  <meta name="resource-type" content="document" />
  <meta name="copyright" content="Copyright (c) 1999-2019 ImageMagick Studio LLC" />
  <meta name="distribution" content="Global" />
  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
  <link href="advanced-windows-installation.html" rel="canonical" />
  <link href="../images/wand.png" rel="icon" />
  <link href="../images/wand.ico" rel="shortcut icon" />
  <link href="assets/magick.css" rel="stylesheet" />
</head>
<body>
  <header>
  <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
    <a class="navbar-brand" href="../"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../images/wand.ico"/></a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsMagick" aria-controls="navbarsMagick" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="navbar-collapse collapse" id="navbarsMagick" style="">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item ">
        <a class="nav-link" href="api/quantize.html">Home <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item ">
        <a class="nav-link" href="../www/download.html">Download</a>
      </li>
      <li class="nav-item ">
        <a class="nav-link" href="../www/command-line-tools.html">Tools</a>
      </li>
      <li class="nav-item ">
        <a class="nav-link" href="../www/command-line-processing.html">Command-line</a>
      </li>
      <li class="nav-item ">
        <a class="nav-link" href="../www/resources.html">Resources</a>
      </li>
      <li class="nav-item ">
        <a class="nav-link" href="../www/develop.html">Develop</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" target="_blank" href="https://imagemagick.org/discourse-server/">Community</a>
      </li>
    </ul>
    <form class="form-inline my-2 my-lg-0" action="https://imagemagick.org/script/search.php">
      <input class="form-control mr-sm-2" type="text" name="q" placeholder="Search" aria-label="Search">
      <button class="btn btn-outline-success my-2 my-sm-0" type="submit" name="sa">Search</button>
    </form>
    </div>
  </nav>
  <div class="container">
   <script async="async" src="https://localhost/pagead/js/adsbygoogle.js"></script>    <ins class="adsbygoogle"
         style="display:block"
         data-ad-client="ca-pub-3129977114552745"
         data-ad-slot="6345125851"
         data-ad-format="auto"></ins>
    <script>
      (adsbygoogle = window.adsbygoogle || []).push({});
    </script>

  </div>
  </header>
  <main class="container">
    <div class="magick-template">
<div class="magick-header">

<p class="lead magick-description">This document describes the requirements and instructions to build ImageMagick for Windows on your own machine.</p>

<h2>Requirements</h2>
<ul>
<li>Visual Studio 2013 (or newer)</li>
<li>Git for Windows</li>
<li>AMD APP SDK (optional for OpenCL support)</li>
</ul>

<h2>Install Visual Studio dependencies</h2>
<p>To build ImageMagick with Visual Studio the following components should be installed:</p:

<ul>
<li>Desktop development with C++ (workload)</li>
<li>Visual C++ ATL for x86 and x64</li>
<li>Visual C++ MFC for x86 and x64</li>
<li>Windows XP support for C++ (optional if the output needs to run on Windows XP)</li>
</ul>

<p>Naming of these components might differ between version of Visual Studio. The example above use the Visual Studio 2017 names.</p>

<h2>Clone the dependencies</h2>
<p>The ImageMagick library is build with a number of third party libraries. Run <code>CloneRepositories.cmd</code> to clone these libraries and the ImageMagick library.</p>

<h2>Build configure.exe</h2>
<p>One of the folders that was created in the previous step is called <code>VisualMagick</code> and this folder contains a folder called <code>configure</code>. This folder contains a solution <code>configure.sln</code>. Open this solution with Visual Studio and start a Release build of the project. This will create a file called <code>configure.exe</code> in the folder. Running this program will start a Wizard that allows configuration of ImageMagick and its individual components.</p>

<h2>Build ImageMagick</h2>
<p>Depending on which options where chosen when running <code>configure.exe</code> one of the following solutions will be created in the <code>VisualMagick</code> folder:</p>

<ul>
<li>VisualDynamicMT.sln (Dynamic Multi-threaded DLL runtimes)</li>
<li>VisualStaticMTD.sln (Static Multi-threaded DLL runtimes)</li>
<li>VisualStaticMT.sln (Static Multi-threaded runtimes)</li>
</ul>

<p>Open the solution to start building ImageMagick. The binaries will be created in the VisualMagick\bin folder.</p>
</div>
    </div>
  </main><!-- /.container -->
  <footer class="magick-footer">
    <p><a href="../www/security-policy.html">Security</a> •
    <a href="../www/architecture.html">Architecture</a> •
    <a href="../www/links.html">Related</a> •
     <a href="../www/sitemap.html">Sitemap</a>
       
    <a href="advanced-windows-installation.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../images/wand.ico"/></a>
       
    <a href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
    <a href="../www/support.html">Donate</a> •
    <a href="../www/https://imagemagick.org/script/contact.php">Contact Us</a>
    <br/>
    <small>© 1999-2019 ImageMagick Studio LLC</small></p>
  </footer>

  <!-- Javascript assets -->
  <script src="assets/magick.js" crossorigin="anonymous"></script>
  <script>window.jQuery || document.write('<script src="https://localhost/ajax/libs/jquery/3.3.1/jquery.min.js"><\/script>')</script>
</body>
</html>
