在VS2010下编译IJG库的问题解决


IJG 全称Independent JPEG Group,是处理JPEG图像,包括压缩和解压缩的利器,网址为http://www.ijg.org/,完全开源,贡献很大。

根据自己的需要下载合适的版本,我的版本是jpegsr9a。

在用之前,需要和自己的编译环境相融合,就是编译。

下面就来看看怎么做吧。在下载好的解压包中有一个自带文档install.txt,仔细阅读也可以找到编译的过程说明,不过如果不想看英文的话,

就跟着我来一步步做吧~~

因为大家已经配置好的环境变量不尽相同,所以我们先直入主题,遇到问题再解决。

注:本文用的路径皆为本人自己的路径,君请按实际路径操作,下同。


1、解压到特定的文件夹,如F:\IJG;

2、用VS2010自带的CMD进行命令编译,如下图所示,或者打开CMD,运行VS安装路径中“F:\Program Files\Microsoft Visual Studio 10.0\VC\bin\”中的批处理文件,vcvars32.bat,这步很重要;

在VS2010下编译IJG库的问题解决_第1张图片

3、进入特定文件夹;

在CMD上敲“F:”进去磁盘驱动器,接着敲 “cd F:\IJG\”进去解压好的文件夹中;

在VS2010下编译IJG库的问题解决_第2张图片

4、接着输入NMAKE命令,“ NMAKE /f makefile.vc setup-v10“ ;

一般的问题都会发生在这里了。

①提示:“nmake不是外部或内部命令”;

    原因:环境变量没有设置好;

    解决方法:在环境变量设置那里,(1)新建变量include:变量值为F:\Program Files\Microsoft Visual Studio 10.0\VC\include\ ;(2)新建变量lib:变量值为F:\Program Files\Microsoft Visual Studio 10.0\VC\lib\ ;(3)在用户变量path上添加变量值F:\Program Files\Microsoft Visual Studio 10.0\VC\bin;

②提示:“file 'win32.mak' not found”;

  原因:定义宏;

  解决方法:(1)根据网友整理,方法为:这个文件在Windows SDK的安装目录中,打开makefile.vc文件修改第12行为:
    !include ;(2)这是一个VS致命伤,其实只要开头用我的方法进入CMD是不会遇到这个问题,假如遇到这个问题,在同一个CMD窗口运行运行VS安装路径中“F:\Program Files\Microsoft Visual Studio 10.0\VC\bin\”中的批处理文件vcvars32.bat即可;

③提示“系统找不到指定的文件”;

  原因:环境变量问题,ren使用不了;

  解决方法:目前没有很好的一次性解决方法,因为ren实际上是一种改名字的功能,即将jconfig.vc改为jconfig.h,那么手动该改扩展名也是可以的,不过不建议这么做。建议可行方法:在CMD手动输入命令

         ren jconfig.vc jconfig.h
        ren makejsln.v10 jpeg.sln
        ren makeasln.v10 apps.sln
        ren makejvcx.v10 jpeg.vcxproj

        ren makejfil.v10 jpeg.vcxproj.filters
        ren makecvcx.v10 cjpeg.vcxproj
        ren makecfil.v10 cjpeg.vcxproj.filters
        ren makedvcx.v10 djpeg.vcxproj
        ren makedfil.v10 djpeg.vcxproj.filters
        ren maketvcx.v10 jpegtran.vcxproj
        ren maketfil.v10 jpegtran.vcxproj.filters
        ren makervcx.v10 rdjpgcom.vcxproj
        ren makerfil.v10 rdjpgcom.vcxproj.filters
        ren makewvcx.v10 wrjpgcom.vcxproj
        ren makewfil.v10 wrjpgcom.vcxproj.filters

然后按回车,会发现文件夹中相应的文件名字都做了改动。


5、找到文件中的jpeg.sln,双击打开,直接编辑,得到release文件夹。

release文件中看到一个“jpeg.lib”文件,那么恭喜你,编译成功了,以后就可以使用IJG库了。

关于使用问题后续继续再谈。




你可能感兴趣的:(C++)