1. 程式人生 > >isual Studio 2013編譯ImageMagick---轉

isual Studio 2013編譯ImageMagick---轉

utility 完整 token machine 引用 notepad 5.5 升級 屬性

  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”並將其內容中的替換為如下內容: [plain] view plain copy print?
  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---轉