Windows下基于MSVC搭建libjpeg開發(fā)環(huán)境 (qq.com)
前言
官網(wǎng)
http://ijg.org/
下載的是jpegsr9e.zip
構(gòu)建
參考源碼中的install.txt
解壓源碼
打開VS的命令行
C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Visual Studio 2022\\Visual Studio Tools\\VC下的x64 Native Tools Command Prompt for VS 2022
進(jìn)入到源碼路徑
cd C:\\Users\\qinyunti\\OneDrive\\wuqi\\usb\\jpegsr9e\\jpeg-9e
此時如果沒有進(jìn)入對應(yīng)路徑,則再輸入
C:
生成VS工程V17對應(yīng)VS2022,將jconfig.vc移動為 jconfig.h并生成工程
nmake /f makefile.vs setup-v17
使用nmake /f makefile.vs setupcopy-v17的話保留jconfig.vc可以重復(fù)生成。
編譯庫
雙擊打開
jpeg.sln
設(shè)置平臺和自己的平臺對應(yīng),這里選x64,菜單欄生成->生成解決方案
\\Release\\x64下生成靜態(tài)庫文件jpeg.lib
編譯測試程序
雙擊打開
apps.sln
同樣選擇x86平臺,菜單欄生成->生成解決方案
\\Release\\x64下生成cjpeg.exe,djpeg.exe,jpegtran.exe,rdjpgcom.exe,wrjpgcom.exe5個測試程序。
自測試
在命令行中
nmake /f makefile.vs test-64
如果是32位平臺則
nmake /f makefile.vs test-32
沒有差異說明測試OK。
測試輸入文件位于
jpeg-9e
輸出圖片位于
jpeg-9e\\Release
在自己的工程中使用
工程配置
在自己的工程目錄新建libjpeg文件夾,創(chuàng)建inc和lib子目錄。
將jpeg.lib復(fù)制到lib目錄下。
將源碼中所有的.h文件復(fù)制到inc目錄下。
右鍵點擊工程名->屬性
設(shè)置包含路徑
$(MSBuildProjectDirectory)\\Src\\libjpeg\\inc;
設(shè)置庫路徑
$(MSBuildProjectDirectory)\\Src\\libjpeg\\lib;
設(shè)置鏈接的庫文件jpeg.lib
測試代碼
編碼測試
復(fù)制源碼路徑的以下文件到自己的工程目錄
生成解決方案
告警
1>C:\\Users\\qinyunti\\OneDrive\\wuqi\\usb\\USB_VS\\USB\\Src\\cdjpeg.c(154,3): error C4996: 'setmode': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _setmode. See online help for details.
將setmode改為_setmode
fileno改為_fileno
編碼測試
從源碼路徑復(fù)制測試文件testimg.ppm過來
.\\cjpeg.exe testimg.ppm testimg.jpg
可以看到testimg.ppm編碼為了testimg.jpg
解碼測試
添加如下文件
同樣的
將setmode改為_setmode
fileno改為_fileno
解碼測試
.\\USB.exe -bmp -colors 256 testimg.jpg testimg.bmp
可以看到testimg.jpg解碼為了testimg.bmp
審核編輯:湯梓紅
-
嵌入式
+關(guān)注
關(guān)注
5059文章
18973瀏覽量
302002 -
WINDOWS
+關(guān)注
關(guān)注
3文章
3521瀏覽量
88316 -
源碼
+關(guān)注
關(guān)注
8文章
632瀏覽量
29110 -
開發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
218瀏覽量
16567
發(fā)布評論請先 登錄
相關(guān)推薦
評論