Jpeglib开发笔记(二):JpegLib编译(ubutnu)和Demo

简介: Jpeglib开发笔记(二):JpegLib编译(ubutnu)和Demo

Qt开发专栏:三方库开发技术(点击传送门)

上一篇:《Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo

下一篇:敬请期待...

 

前言

前篇编译了windows上的,现编译ubuntu上的。

 

JpegLib下载地址

      https://www.ijg.org/

      点击对应文件即可下载,如下图:

(与windows下载的文件不同,windows是zip)

QQ群:1047134658(点击“文件”搜索“jpeg”,群内与博文同步更新)

 

JepgLib编译

步骤一:下载放到ubuntu编译文件件

步骤二:配置

./configure --prefix /home/yang/compile/jpeg/jpeg-9c/install

步骤三:make

步骤四:make install

 

Demo

解码测试运行成功,如下图:

在Qt项目中配置链接库的路径,添加环境变量LD_LIBRARY_PATH(不然会报错,找不到链接库),如下图:

测试代码

#include "JpegManager.h"
#include <QDebug>
JpegManager::JpegManager(QObject *parent)
    : QObject(parent)
{
}
void JpegManager::testDemo1(QString path)
{
    FILE *file;
    int width;
    int height;
    struct jpeg_decompress_struct jDecompressStruct;
    struct jpeg_error_mgr jErrorMgr;
    if ((file = fopen(path.toUtf8().data(), "rb")) == 0)
    {
      qDebug() << __FILE__ << __LINE__ << "Failed to open file:" << path;
      return;
    }
    // 初始化并申请解码器
    jDecompressStruct.err = jpeg_std_error(&jErrorMgr);
    jpeg_create_decompress(&jDecompressStruct);
    // 指定图片文件信息
    jpeg_stdio_src(&jDecompressStruct, file);
    // 读取头部信息
    jpeg_read_header(&jDecompressStruct, TRUE);
    // 开始解码
    jpeg_start_decompress(&jDecompressStruct);
    // 获取图片宽高
    width = jDecompressStruct.image_width;
    height = jDecompressStruct.image_height;
    qDebug() << __FILE__ << __LINE__ << "decompress file:" << path << width << "x" << height;
    printf("decompress file:%s, %d x %d\n", path.toUtf8().data(), width, height);
    // 释放解码器对象
    jpeg_destroy_decompress(&jDecompressStruct);
    fclose(file);
}

 



相关文章
|
2月前
|
算法 API 计算机视觉
[opencv学习笔记] jiazhigang 30讲源码C++版本(含Makefile)
[opencv学习笔记] jiazhigang 30讲源码C++版本(含Makefile)
27 0
|
2月前
|
IDE 编译器 Shell
初玩Makefile与Go项目中Makefile的简单使用
初玩Makefile与Go项目中Makefile的简单使用
36 0
|
3月前
|
计算机视觉 C++ Windows
C++VS2019中配置opencv(在空项目中配置opencv和在cmake中配置opencv)-解决的问题 找不到opencv_world440d.dll
C++VS2019中配置opencv(在空项目中配置opencv和在cmake中配置opencv)-解决的问题 找不到opencv_world440d.dll
26 0
|
4月前
|
Shell 开发工具 git
使用openwrt搭建编译环境,编译一个demo
使用openwrt搭建编译环境,编译一个demo
101 1
|
8月前
|
XML 数据管理 编译器
Qt+GDAL开发笔记(二):在windows系统msvc207x64编译GDAL库、搭建开发环境和基础Demo
上一篇使用mingw32版本的gdal,过程曲折,为更好的更方便搭建环境,在windows上msvc方式对于库比较友好。
|
9月前
|
XML 数据管理 Linux
Qt+GDAL开发笔记(一):在windows系统mingw32编译GDAL库、搭建开发环境和基础Demo
麒麟系统上做全球北斗定位终端开发,调试工具要做一个windows版本方便校对,北斗GPS发过来的是大地坐标,应用需要的是经纬度坐标,所以需要转换,可以使用公式转换,但是之前涉及到了另一个shang市公司项目使用WG,最终选择了GDAL库进行转换。
又编译了一次doubango整个项目
又编译了一次doubango整个项目
38 0
|
Windows
CMake教程12:CMake是怎么找到Qt相关模块的
CMake教程12:CMake是怎么找到Qt相关模块的
462 0
|
C++ 计算机视觉 Windows
Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo
Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo
Jpeglib开发笔记(一):JpegLib库介绍、windows编译和Demo
|
关系型数据库 MySQL Linux
编译tars的时候找不到libmysqlclient.a静态库
获取MariaDB源码 下载相应源码,下载地址mariadb-5.5.56.tar.gz 下载后传到虚拟机中,解压然后编译。
176 0