[英]Compiling libjpeg
有沒有人成功地將 libjpeg 包含在某個編譯器中? 我嘗試了所有方法:Dev C++、VS10、CodeBlocks,手動復制頭文件和庫,添加鏈接器但什么也沒有。 現在我真的很困惑,因為沒有關於如何在任何編譯器中編譯它的官方指南。 如果有人可以提供有關如何在任何編譯器中編譯庫的教程,我會非常高興。 先感謝您。
要在 Visual Studio 2012 中編譯libjpeg
9,步驟如下(解壓存檔文件后):
下載文件WIN32.MAK
(例如,從http://www.bvbcode.com/code/f2kivdrh-395674-down ),並在源代碼根目錄(可能是C:\\jpeg-9
,但這取決於你在哪里解壓它)。 從現在開始,我將把這個目錄稱為%jpegsrc%
。 擁有這個文件很重要; 否則步驟 3 將產生錯誤。
在 Visual Studio 命令提示符中,打開%jpegsrc%
:
cd %jpegsrc%
在相同的命令提示符下,執行以下命令:
NMAKE /f makefile.vc setup-v10
這將在%jpegsrc%
創建兩個 Visual Studio 2010 解決方案: jpeg.sln
和apps.sln
。
在 Visual Studio 2012 中打開每個解決方案。每個解決方案都會提示您將所有項目更新為 2012 格式。 點擊“更新”。 有一次我做了,提示沒有出現。 如果發生這種情況,請在解決方案資源管理器中右鍵單擊jpeg
解決方案,然后選擇“更新 VC++ 項目...”,這將產生相同的提示。
像往常一樣保存和構建每個解決方案。 (你必須建立在jpeg.sln
之前解決apps.sln
,因為后者依賴於前者。)
注意:此過程在 Visual Studio 2010 中應該可以正常工作,無需更新,但我尚未對其進行測試。
更新:此方法在 Visual Studio 2015 中仍然適用於libjpeg-9a
。
這是我在 Windows 上使用 MinGW 構建 libjpeg 的方法:
我有一份來自http://sourceforge.net/projects/mingw/的副本。 引自 www.mingw.org :
MSYS 是 GNU 實用程序的集合,例如 bash、make、gawk 和 grep,用於構建依賴於傳統 UNIX 工具的應用程序和程序。
我們將需要它來運行 libjpeg 源附帶的configure
腳本。
從http://www.ijg.org/獲取 Unix 格式的軟件包(Windows 格式的軟件包不適用於此過程)。 我拿了jpeg_8d
版本。
我在D:\\
創建了一個名為tmp
的臨時目錄,但您可以選擇適合您需要的任何目錄。 重要的是 MSYS 中路徑的名稱。 由於它為 Windows 帶來了一些 * Unixity *,路徑不能以其原始形式使用。 簡而言之:
C:\\path\\to\\file
在 MSYS 域中變為/c/path/to/file
,因此D:\\tmp
變為/d/tmp
。
解壓D:\\tmp
的 libjpeg 源代碼,這樣你就有了一個jpeg-8d
目錄。
在D:\\tmp
創建一個jpeg-build
目錄,它將保存構建的庫。
現在一切都已准備好進行構建。
這是在 Unix 土地上建設的口頭禪。 應該添加一個選項將安裝過程重定向到D:\\tmp\\jpeg-build
。
在 MSYS shell(在 Windows 開始菜單中也稱為 MinGW shell)中運行以下命令:
cd /d/tmp/jpeg-8d
./configure --prefix=/d/tmp/jpeg-build
make
make install
作為附加步驟,您可以運行make test
以確保安全。
這些命令將構建 libjpeg 的靜態和共享版本。
如果一切正常,您可以刪除D:\\tmp\\jpeg-8d
目錄,但保留jpeg-build
目錄。 它包含:
include
目錄,包含 libjpeg 頭文件。 您可以將它們移動到編譯器的頭文件目錄。lib
目錄,帶有要傳遞給鏈接器的.a
文件。 您可以將它們移動到編譯器的庫目錄中。bin
目錄,保存 libjpeg 共享庫libjpeg-8.dll
和 jpeg 工具。share
目錄,包含 jpeg 工具的man
頁。您現在可以通過指明正確的包含和庫路徑來構建您的程序並將其鏈接到 libjpeg。
您可以在源包內的install.txt
找到有關 libjpeg 構建和安裝過程的許多詳細信息。
我希望這會很有用。
用 VS10 構建 jpeg.lib 真的很簡單。
首先,下載 zip 格式的 libjpeg 源代碼。 在我寫這篇文章的時候,你可以在這里找到它。
然后將 zip 文件的內容解壓縮到您的磁盤。
然后打開 VS2010 命令提示符 shell(或在任何命令提示符窗口中調用 vcvarsall.bat),cd 到 jpeg 源目錄(上面引用的下載中的 jpeg-8d)並鍵入以下內容:
nmake -f makefile.win setup-v10
這將生成兩個 VS2010 解決方案和一堆項目文件。 解決方法是:
jpeg.sln
,它構建jpeg.lib
apps.sln
,用於構建示例應用程序。祝你好運!
如果您沒有安裝 Visual Studio 2010,以下是適用於 Visual Studio 2017 的內容:
基本/常見步驟:
cd
) 更改為解壓縮庫源的位置VS 2017 方法:
通過運行包含 Windows SDK v7.1A 目錄(稍后 nmake 需要 Win32.Mak): set INCLUDE=%INCLUDE%;c:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Include
運行nmake /f makefile.win setup-v15
(注意這里是 VS2017 的 v15)
從這里開始,按照@AthanasiusOfAlex 的解釋將 Visual Studio 2010 解決方案升級到您正在運行的 Visual Studio 版本。 如果您需要調試配置,請按照@SteveEng 的說明進行操作。
您可能會遇到的錯誤:
nmake
失敗並告訴您它不知道如何制作 jconfig.h,請手動將文件jconfig.vc
重命名為jconfig.h
nmake
失敗並告訴您找不到 Win32.Mak,請手動將其從步驟 #4 中提到的 SDK 目錄復制到 libjpeg 源目錄。 如果您沒有安裝該 SDK 版本,請從可信賴的資源下載該文件。nmake
失敗並告訴您它不知道如何制作setup-v15
,通過從setup-v10
、 setup-v11
等開始嘗試和錯誤...這些是 VS 版本,其中一個應該可以正常工作因為您安裝了 VS 2008 之后的任何 VS 版本。希望這可以幫助人們經歷類似的痛苦。
如果您還想在 MSVC 中使用調試模式。 按照 AthanasiusOfAlex 的方法,構建發布,然后:
構建,你就完成了!
像這樣正確地考慮 Visual Studio 版本名稱,以創建 .sln 文件。
產品名稱 代號 版本號
Visual Studio 2019 Dev16 16.0
Visual Studio 2017 Dev15 15.0
Visual Studio 2015 Dev14 14.0
Visual Studio 2013 Dev12 12.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.