isual Studio 2013编译ImageMagick---转
- “该文引用自 CruiseYoung的:Visual Studio 2013编译ImageMagick
- 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”并将其内容中的替换为如下内容:
- @echo off
- REM This script upgrades the solution to VS2013 and fixes the MSB8012 error.
- FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\PowerShell\1" /v Install ^| FIND "Install"') DO SET PowerShellInstalled=%%A
- IF NOT "%PowerShellInstalled%"=="0x1" GOTO NOT_INSTALLED
- call "%vs120comntools%vsvars32.bat"
- powershell -ExecutionPolicy Unrestricted .\build\UpgradeSolution.ps1 2013
- GOTO DONE
- :NOT_INSTALLED
- ECHO "This script needs powershell"
- :DONE
- 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---转的更多相关文章
- 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
转自:http://blog.csdn.net/xiaochunzao/article/details/16987703 Visual Studio 2013 编译旧的 multi-byte char ...
- Visual Studio 2013 编译 64 位 Python 的 C 扩展 (使用 PyObject 包装)
对于 32 位 Python 的 C 扩展,以前用过 mingW32 编译, 但是 mingW32 不支持 64 位 Python 的 C 扩展编译,详情可见 stackoverflow,这位前辈的大 ...
- Visual Studio 2013编译Tesseract 3.04
文章目录 去年时候使用了VS2008编译了Tesseract 3.02版本,主要是参考了一份官方文档,但是对于目前的最新版本并没有给出说明. 本文主要参考了Paul Vorbach的How to bu ...
- Windows下Visual Studio 2013编译Lua 5.2.3
1.创建一个Visual C++的Empty Project,如果需要支持Windows XP将Platform Toolset设置为Visual Studio 2013 - Windows XP ( ...
- Visual Studio 2013 编译CEF步骤
If you'd like to build the Chromium Embedded Framework (a wrapper for Chromium, for creating browser ...
- Visual Studio 2013编译Mozilla NPAPI 示例注意事项
1.Platform Toolset设置Visual Studio 2013 - Windows XP (v120_xp). 2.Character Set设置Use Multi-Byte Chara ...
- Windows下Visual studio 2013 编译 Audacity
编译的Audacity版本为2.1.2,由于实在windows下编译,其源代码可以从Github上取得 git clone https://github.com/audacity/audacity. ...
- 解决visual studio 2013编译过程中存在的无法打开kernel.lib问题
1. 出现此类问题的原因 由于原visual studio文件中的安装中出现问题,所以原有的SDK(soft development kits)文件出现缺失: 2. 解决方法1 重新下载SDK工具,安 ...
- Visual Studio 2013环境下操作vc6/vc7/vc8等低版本平台项目【编译|生成|调试】
现代化的开发环境,微软一直在推出更新换代,我们所处的技术环境在日新月异的变化:不过在中国多数人们一边疲惫的追赶着时代的步伐,一边坚守着自己所获悉所掌握的那些紧吧吧的知本.对技术工具的掌握并非他们所想要 ...
随机推荐
- ViewData与ViewBag的使用区别
在Asp.net MVC 3 web应用程序中,我们会用到ViewData与ViewBag,对比一下: ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从 ...
- art-template简单使用
art-template是一款较通用的前端模板引擎. 简单的使用方法如下: 具备3个要素 1)模板 <script type="text/template" id=" ...
- Teamwork-六月上旬心得体会
六月上旬心得体会 在五月末的时候,老师针对我们团队的状况提出了几点建议和解决方案,而这半个月里,我们尝试性地运用了其中的几件工具与方法. 1.燃尽图与每日总结 我们采用的是<构建之法>书中 ...
- Docker的特性解析
Docker简介与入门:http://segmentfault.com/blog/p_chou/1190000000448808 Docker是个新生的事物,概念类似虚拟化.网上关于Docker入门的 ...
- npm一点点
写在开头 要抓紧学习了,不然要遭... 月底之前有大量东西要学习,干 npm 包管理工具 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并安装别人编写的命令行程序 ...
- win系统如何在桌面显示我的电脑
如果是在Windows Server 2012本地控制台下,直接按Win(键盘上的微软徽标键)+R,输入: rundll32.exe shell32.dll,Control_RunDLL desk.c ...
- Robot Framework(四)创建测试套件
2.3.1测试用例文件 Robot Framework测试用例是使用测试用例文件中的测试用例表创建的.这样的文件会自动从它包含的所有测试用例中创建一个测试套件.可以有多少测试用例没有上限,但建议少于1 ...
- 从U盘安装CentOS7.3教程(转载)
0.准备工作: 一台没系统的普通电脑u盘一个(大于1G,最小安装的话不超过1G,根据选择系统大小匹配U盘即可) CentOS7.3 iso文件一个UltraISO工具 1.制作U盘 ①使用UltraI ...
- websocket 进阶!netty框架实现websocket达到高并发
引言: 在前面两篇文章中,我们对原生websocket进行了了解,且用demo来简单的讲解了其用法.但是在实际项目中,那样的用法是不可取的,理由是tomcat对高并发的支持不怎么好,特别是tomcat ...
- Linux 命令查询系统负载信息
linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息.uptime命令过去只显示系统运行多久.现在,可以显示系统已经运行了多长 时间,信息显示依次为:现在时间.系统已经运 ...