1. “该文引用自 CruiseYoung的:Visual Studio 2013编译ImageMagick
  2. http://blog.csdn.net/fksec/article/details/36008343”

1 前期准备

1.1 C++11特性支持

Visual C++ Compiler November 2013 CTP (for  Visual Studio 2013)

下载页面:http://www.microsoft.com/en-us/download/details.aspx?id=41151

直接地址:http://download.microsoft.com/download/3/C/2/3C271B79-6354-4B66-9014-C6CEBC14C5C4/vc_CompilerCTP.Nov2013.exe

注1:

Visual C++ Compiler November 2012 CTP (for  Visual Studio 2012)

下载页面:http://www.microsoft.com/en-us/download/details.aspx?id=35515

直接地址:http://download.microsoft.com/download/5/1/6/5169AA1E-D7A4-4DC2-A9AE-0A9DFD2601AB/vc_compilerCTPNov2012.exe

1.2 “OpenCL”支持:

请参见:《Visual Studio 2013、TortoiseSVN、TortoiseGit、msysgit编译Tesseract(tesseract-ocr)》一文中的4.7节 地址:http://blog.csdn.net/fksec/article/details/32714639

2 官方网站

ImageMagick官网:http://www.imagemagick.org/
ImageMagick中文站:http://www.imagemagick.com.cn/

3 参考文档

ImageMagick-6.8.9\Install-windows.txt

4 代码下载

下载地址:http://www.imagemagick.org/download/
Windows编译,请点击“源码下载地址”页面中的“windows”目录连接进入;下载带“-windows”的压缩包,“zip”和“7z”任选其一即可。
最新稳定版本源码直接地址:
http://www.imagemagick.org/download/windows/ImageMagick-windows.7z

http://www.imagemagick.org/download/windows/ImageMagick-windows.zip

5 Win32(x86)平台编译

5.1 将源代码解压到当前目录,并进入ImageMagick-6.8.9\VisualMagick\configure目录,只有windows版本才有VisualMagick及其子目录
5.2 在当前目录找到“configure.exe”文件,如果没有,进行以下操作:

用Visual Studio 2013打开configure.sln文件,直接编译;

友情提示1:此处工程编译可以不考虑“解决方案平台”是“WIN32”或“x64”,也不需考虑“解决方案配置”是“Debug”或“Release”。只需择一即可,建议“解决方案平台”选择“WIN32”,“解决方案配置”选择“Release”;

友情提示2:此处工程“configure”只有“WIN32”的平台选项,没有“x64”平台选项,如果您要添加“x64”平台选项,其详细过程如下:

工程“configure”-->右键“属性”(-->配置属性)-->“配置管理器(O)”-->“项目上下文(选定要生成的或部署的项目配置)(R):”-->“平台”-->下拉“新建”-->“新建平台”选择“x64”-->“从此处复制设置(S):”选择“Win32”-->勾选“创建信的解决方案平台(C)”-->“确定”。

解决:模块计算机类型“x64”与目标计算机类型“X86”冲突 问题:工程“configure”-->右键“属性”(-->配置属性)-->“配置(C)”选择“所有配置”-->“平台(P)”选择“所有平台”

-->“配置属性”-->“链接器”-->“命令行”-->“其他选项(D)”删除“/MACHINE:I386 ”-->“确定”

-->“配置属性”-->“链接器”-->“所有选项”-->“附加选项”删除“/MACHINE:I386 %(AdditionalOptions)”-->“确定”。

5.3 双击“configure.exe”文件,进行“编译类型”以及“编译选项”的选择。

5.3.1 “编译类型”:在静态类型的选择共有3种,首先应排除“Static Single-threaded runtimes”,因为现在几乎不用了, Visual Studio 2010以上的版本好像都不提供该选项了。

剩余的两项,个人比较偏好“Static Multi-threaded DLL runtimes”,这也是Visual Studio创建“static”工程的默认选项。

5.3.2 “编译选项”:如果勾选“Generate utility projects with full paths instead of relative”项,则必须保证整个工程中不包含“中文路径”;个人建议该选项任何时候都不需要选择。

5.3.3 “编译选项”中不要勾选“Build 64-bit distribution”

5.4 解决方案升级:

5.4.1 复制“UpgradeToVS2012.cmd”为“UpgradeToVS2013.cmd”并将其内容中的替换为如下内容:

  1. @echo off
  2. REM This script upgrades the solution to VS2013 and fixes the MSB8012 error.
  3. FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\PowerShell\1" /v Install ^| FIND "Install"') DO SET PowerShellInstalled=%%A
  4. IF NOT "%PowerShellInstalled%"=="0x1" GOTO NOT_INSTALLED
  5. call "%vs120comntools%vsvars32.bat"
  6. powershell -ExecutionPolicy Unrestricted .\build\UpgradeSolution.ps1 2013
  7. GOTO DONE
  8. :NOT_INSTALLED
  9. ECHO "This script needs powershell"
  10. :DONE
  11. PAUSE

5.4.2 执行“UpgradeToVS2013.cmd”,等待其执行直到出现“请按任意键继续...”时,按任意键结束升级。

5.5 解决方案修正:

5.5.1 字符集问题,即解决“pango-language-sample-table.h(551): error C2001: 常量中有换行符”问题:用“Notepad++”打开“ImageMagick-6.8.9\pango\pango\pango-language-sample-table.h”文件,在菜单“格式”中选择“以UTF-8格式编码”,保存。注意,不要用“转为UTF-8编码格式”!

5.5.2 项目依赖问题,即解决“无法打开输入文件“CORE_RL_pango_.lib””以及“无法打开输入文件“CORE_DB_pango_.lib””问题:

工程“UTIL_stream”-->右键“生成依赖项(B)”-->“项目依赖项(S)...”-->选项卡“依赖项”-->列表框“依赖于(D):”-->勾选工程“CORE_pango”-->“确定”

5.6 完整编译

解决方案-->右键“批生成(T)...”-->“选定要生成的项目配置(K):”-->勾选“项目”值为“All”,“平台”值为“Win32”的行-->“重新生成(R)”;

6 x64平台编译

6.1 将下载的源代码重新解压一份到其它目录,来进行x64平台的编译:
6.2 以下步骤同“5.2”至“5.3.2”
6.3 在“编译选项”中勾选“Build 64-bit distribution”
6.4 以下步骤同“5.4”
6.5 升级后的解决方案不能用来编译Win32(x86)平台,否则会出现很多头文件找不到的错误,原因是在此解决方案中Win32平台中所有工程属性的“配置属性”-->“C/C++”-->“常规”-->“附加包含目录”项为空。
6.6 由于升级后的解决方案的工程“All”没有“x64”的“解决方案平台”选项,编译不方便,所以请按如下操作添加:

6.6.1 工程“All”-->右键“属性”(-->配置属性)-->“配置管理器(O)”-->“项目上下文(选定要生成的或部署的项目配置)(R):”-->“项目”:“All”-->“平台”-->下拉“新建”-->“新建平台”选择“x64”-->“从此处复制设置(S):”选择“Win32”-->取消勾选“创建信的解决方案平台(C)”-->“确定”;

6.6.2

-->“配置(C)”选择“Release”-->“平台(P)”选择“x64”-->“配置管理器(O)”-->“项目”:“All”-->“平台”-->下拉选择“x64”-->勾选“生成”-->“关闭”;

-->“配置(C)”选择“Debug”-->“平台(P)”选择“x64”-->“配置管理器(O)”-->“项目”:“All”-->“平台”-->下拉选择“x64”-->勾选“生成”-->“关闭”;

-->“配置管理器(O)”-->“项目上下文(选定要生成的或部署的项目配置)(R):”-->“活动解决方案配置(C)”:“Release”-->“活动解决方案平台(P)”:“x64”-->“项目”:“All”-->“平台”-->下拉选择“x64”-->勾选“生成”-->“关闭”;

-->“配置管理器(O)”-->“项目上下文(选定要生成的或部署的项目配置)(R):”-->“活动解决方案配置(C)”:“Debug”-->“活动解决方案平台(P)”:“x64”-->“项目”:“All”-->“平台”-->下拉选择“x64”-->勾选“生成”-->“关闭”;

6.7 步骤同5.5
6.8 完整编译:

解决方案-->右键“批生成(T)...”-->“选定要生成的项目配置(K):”-->勾选“项目”值为“All”,“平台”值为“x64”的行-->“重新生成(R)”;

isual Studio 2013编译ImageMagick---转的更多相关文章

  1. 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法

    转自:http://blog.csdn.net/xiaochunzao/article/details/16987703 Visual Studio 2013 编译旧的 multi-byte char ...

  2. Visual Studio 2013 编译 64 位 Python 的 C 扩展 (使用 PyObject 包装)

    对于 32 位 Python 的 C 扩展,以前用过 mingW32 编译, 但是 mingW32 不支持 64 位 Python 的 C 扩展编译,详情可见 stackoverflow,这位前辈的大 ...

  3. Visual Studio 2013编译Tesseract 3.04

    文章目录 去年时候使用了VS2008编译了Tesseract 3.02版本,主要是参考了一份官方文档,但是对于目前的最新版本并没有给出说明. 本文主要参考了Paul Vorbach的How to bu ...

  4. Windows下Visual Studio 2013编译Lua 5.2.3

    1.创建一个Visual C++的Empty Project,如果需要支持Windows XP将Platform Toolset设置为Visual Studio 2013 - Windows XP ( ...

  5. Visual Studio 2013 编译CEF步骤

    If you'd like to build the Chromium Embedded Framework (a wrapper for Chromium, for creating browser ...

  6. Visual Studio 2013编译Mozilla NPAPI 示例注意事项

    1.Platform Toolset设置Visual Studio 2013 - Windows XP (v120_xp). 2.Character Set设置Use Multi-Byte Chara ...

  7. Windows下Visual studio 2013 编译 Audacity

    编译的Audacity版本为2.1.2,由于实在windows下编译,其源代码可以从Github上取得 git clone https://github.com/audacity/audacity. ...

  8. 解决visual studio 2013编译过程中存在的无法打开kernel.lib问题

    1. 出现此类问题的原因 由于原visual studio文件中的安装中出现问题,所以原有的SDK(soft development kits)文件出现缺失: 2. 解决方法1 重新下载SDK工具,安 ...

  9. Visual Studio 2013环境下操作vc6/vc7/vc8等低版本平台项目【编译|生成|调试】

    现代化的开发环境,微软一直在推出更新换代,我们所处的技术环境在日新月异的变化:不过在中国多数人们一边疲惫的追赶着时代的步伐,一边坚守着自己所获悉所掌握的那些紧吧吧的知本.对技术工具的掌握并非他们所想要 ...

随机推荐

  1. ViewData与ViewBag的使用区别

    在Asp.net MVC 3 web应用程序中,我们会用到ViewData与ViewBag,对比一下: ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从 ...

  2. art-template简单使用

    art-template是一款较通用的前端模板引擎. 简单的使用方法如下: 具备3个要素 1)模板 <script type="text/template" id=" ...

  3. Teamwork-六月上旬心得体会

    六月上旬心得体会 在五月末的时候,老师针对我们团队的状况提出了几点建议和解决方案,而这半个月里,我们尝试性地运用了其中的几件工具与方法. 1.燃尽图与每日总结 我们采用的是<构建之法>书中 ...

  4. Docker的特性解析

    Docker简介与入门:http://segmentfault.com/blog/p_chou/1190000000448808 Docker是个新生的事物,概念类似虚拟化.网上关于Docker入门的 ...

  5. npm一点点

    写在开头 要抓紧学习了,不然要遭... 月底之前有大量东西要学习,干 npm 包管理工具 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并安装别人编写的命令行程序 ...

  6. win系统如何在桌面显示我的电脑

    如果是在Windows Server 2012本地控制台下,直接按Win(键盘上的微软徽标键)+R,输入: rundll32.exe shell32.dll,Control_RunDLL desk.c ...

  7. Robot Framework(四)创建测试套件

    2.3.1测试用例文件 Robot Framework测试用例是使用测试用例文件中的测试用例表创建的.这样的文件会自动从它包含的所有测试用例中创建一个测试套件.可以有多少测试用例没有上限,但建议少于1 ...

  8. 从U盘安装CentOS7.3教程(转载)

    0.准备工作: 一台没系统的普通电脑u盘一个(大于1G,最小安装的话不超过1G,根据选择系统大小匹配U盘即可) CentOS7.3 iso文件一个UltraISO工具 1.制作U盘 ①使用UltraI ...

  9. websocket 进阶!netty框架实现websocket达到高并发

    引言: 在前面两篇文章中,我们对原生websocket进行了了解,且用demo来简单的讲解了其用法.但是在实际项目中,那样的用法是不可取的,理由是tomcat对高并发的支持不怎么好,特别是tomcat ...

  10. Linux 命令查询系统负载信息

    linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息.uptime命令过去只显示系统运行多久.现在,可以显示系统已经运行了多长 时间,信息显示依次为:现在时间.系统已经运 ...