VS2013 64位 libjpeg编译使用
来源:互联网 发布:c 程序员网站 编辑:程序博客网 时间:2024/05/29 10:03
由于之前做的项目刚刚好设备传过来的图像数据就是JPEG格式的,如果将每帧图像数据都保存成文件然后再借助开源库提供的接口去读入文件会显得很掉价,所以做了一些直接解码内存中JPEG数据的研究。经过对比发现libjpeg库对JPEG图像的编解码支持甚好,而且相对于OpenCV库,复杂度小很多,是故就决定动手来实现我自己想要的接口。
所谓“巧妇难为无米之炊”,要用libjpeg库,第一步自然是去下载其源码,下载地址在这里。
下载完解解压后,就要去编译libjpeg库了,这里我主要参考的是这篇文章和这篇文章。因为第一篇用的是VS2012,有些路径跟本文设置略有差别,所以如果你用的是VS2012,请毫不犹豫的点开链接,跟着他的步骤做吧。当然还是要说,VS2013实在是好用太多。
OK,现在开始做编译的准备工作,其实也就两步:
第一步:找到刚刚解压出来的“jpeg-9a”文件夹下面的“makefile.vc”文件,用记事本或Notepad++等编辑工具打开,然后找到里面的“!include <win32.mak>”,将“win32.mak”改为绝对路径。不难看出这个win32.mak是个文件,其是VS下的一个文件,所以路径就跟你自己装的VS版本有关,本人装的是VS2013版本,默认情况下该版本中这个文件在“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include”这个目录下。因而我们将刚刚搜索到的那句话改为“!include <C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\win32.mak>”就OK了。
第二步:打开VS2013的命令行:“VS2013 x86 本机工具命令提示”,这个用开始菜单打开会方便点,直接找到“Visual Studio 2013”这一项,打开里面的“Visual Studio Tools”文件夹就可以看到。如果是Win8的用户则建议去装个开始菜单工具,不然就去VS的安装目录下面找。打开命令行之后CD到解压出来的“jpeg-9a”目录下,输入“nmake /f makefile.vc setup-v10”,回车,待命令行执行完命令后,准备工作就大功告成啦。关于命令行的操作,具体如下图:
下面来做编译,其实已经没什么难点了,上面工作做完之后,“jpeg-9a”文件夹下面会生成一个VS的工程。直接运行里面的“jpeg.sln”,然后VS提示要升级编译器什么的点是,进入编程界面后直接编译就大功告成了。编译完成后在“jpeg-9a”文件夹下的“Release”文件夹中可以看到一个“jpeg.lib”文件,这个就是我们刚刚编译出来的静态链接库。
要使用这个静态链接库,只要先包含进jconfig.h,jmorecfg.h,jpeglib.h这三个头文件,然后把刚刚编译出来的jpeg.lib加进工程中就可以了。习惯上会把jpeg.lib改名为libjpeg.lib。下面提供一个jpeg转bmp的例子,代码是基本照搬这篇文章的,只是做了少量修改。
已经生成好的vc工程文件地址:http://download.csdn.net/detail/huangyifei_1111/9666930
- VS2013 64位 libjpeg编译使用
- 编译64位的libjpeg
- VS2013编译libjpeg库
- VS2013编译libjpeg库
- vs2013 win10 编译libjpeg以及使用CImg加载jpeg图片
- 编译IOS 64位libjpeg-turbo
- VS2013编译64位OpenSSL
- VS2013 编译64位libcurl
- 交叉编译使用libjpeg
- libjpeg编译使用详解
- 使用vs2010编译libjpeg
- vs2013+matlab 编译vlfeat 64位
- Qt5.5.0 vs2013 64位编译
- vs2013编译boost1.55.0 32/64位
- 基于VS2013的64位OSGEarth编译
- VS2013编译64位OpenSSL(附32位)
- opencv249+vs2013+64位win7配置使用
- 64位+VS2013+OpenCV2.4.9+CMake+TBB 编译OpenCV源码
- golang用get方式读取指定网页内容
- 计算语言学之拼写纠错
- Myeclipse2016完美破解-Windows+Mac版,附带SVN安装插件,百度云下载
- MYSQL优化
- Hiredis 实现 Redis 流水线
- VS2013 64位 libjpeg编译使用
- Magento 开发过程中常用的使用技巧与方法
- eclipse在pull时发生冲突报错Checkout conflict with files
- Ubuntu终端连接出错:Couldn’t agree a client-to-server cipher (available: aes128-ctr,aes192-ctr......)
- Vim
- jQuery<5.1>
- 你不得不知道的5道海量数据题
- Jedis分布式+序列化
- node(使用events模块)