Skip to main content

Command Palette

Search for a command to run...

编译文件加上新的库如jpeglib

Updated
2 min readView as Markdown

1.下载jpeglib源码

wget http://www.ijg.org/files/jpegsrc.v9e.tar.gz
tar -xzf jpegsrc.v9e.tar.gz
cd jpeg-9e

2.配置交叉编译环境

创建MISP安装路径,存放头文件和库文件:

mkdir install-mips

然后运行configure配置交叉编译

./configure \
  --host=mips-linux-gnu \
  --prefix=$(pwd)/install-mips \
  --enable-static \
  --disable-shared \
  CC=mips-linux-gnu-gcc

# 君正芯片要修改交叉编译工具链
./configure CC=mips-linux-uclibc-gnu-gcc #对应君正的交叉编译工具链的位置
    LD=mips-linux-uclibc-gnu-ld  #对应君正的交叉编译工具链的位置
    --prefix=/home/ding/SourceCode/svn-battery/jpeglib/jpeg-9e/install-mips #编译结果输出文件
    --enable-shared #不编译动态库 .so 文件
    --enable-static #编译静态库 .a 文件
    --host=mips #指定交叉编译的目标架构

3.编译并安装

make

# 如果install-mips已经存放了上一次编译结果要
make clean
rm -rf install-mips/*
make

安装

make install

安装完成后路径结构如下:

jpeg-9e/
├── install-mips/
│   ├── include/
│   │   └── jpeglib.h
│   └── lib/
│       └── libjpeg.a

可以使用以下指令查看交叉编译工具链是否使用正确

mips-linux-uclibc-gnu-readelf jquant2.o -h #可以选择任意一个.o文件进行查看

4.修改Makefile文件

在你的Makefile头部添加以下内容:

CUR_DIR := $(shell pwd)

# libjpeg include & lib 目录
JPEG_INC_DIR := $(CUR_DIR)/jpeg-9e/install-mips/include
JPEG_LIB_DIR := $(CUR_DIR)/jpeg-9e/install-mips/lib

修改INCLUDES变量,加入jpeglib头文件路径:

INCLUDES = -I$(SDK_INC_DIR) -I$(IVS_INC_DIR) -I$(JPEG_INC_DIR)

修改LIBS变量,加入jpeglib静态库:

LIBS += -L$(JPEG_LIB_DIR) -ljpeg

#或

LIBS = $(SDK_LIB_DIR)/libimp.a $(SDK_LIB_DIR)/libalog.a \
       $(MXU_LIB_DIR)/libmxu_merge.a  \
       $(MXU_LIB_DIR)/libmxu_video.a \
       $(MXU_LIB_DIR)/libmxu_imgproc.a \
       $(MXU_LIB_DIR)/libmxu_core.a \
       $(JPEG_LIB_DIR)/libjpeg.a

5.重新编译项目

make clean
make

6.星辰编译链编译curl

# 要先下载openssl
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -xvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w

mkdir install-arm

#运行配置信息后

#下载包
make -j$(nproc)
make install_sw

# 此时安装好的包在openssl-1.1.1w/install-arm当中





# 下载curl
wget https://curl.se/download/curl-8.7.1.tar.gz
tar -xvf curl-8.7.1.tar.gz

cd curl-8.7.1

mkdir install-arm

#运行配置信息

#下载包
make
make

6.1.安装openssl的配置信息

./Configure linux-armv4 \
    --prefix=/home/ding/yyb/curl/openssl-1.1.1w/install-arm \
    --cross-compile-prefix=arm-sigmastar-linux-uclibcgnueabihf-9.1.0- \
    no-async no-zlib no-shared no-tests \
    --openssldir=/etc/ssl

6.2.curl配置信息

./configure CC=arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gcc \
LD=arm-sigmastar-linux-uclibcgnueabihf-9.1.0-ld \
--prefix=/home/ding/yyb/curl/curl-8.7.1/install-arm \
--enable-shared \
--enable-static \
--host=arm \
--with-ssl=/home/ding/yyb/curl/openssl-1.1.1w/install-arm

More from this blog

Opencoda 安装

一、前言:OpenCode 是什么?为什么值得用? 1.1 OpenCode 简介 官网OpenCode | The open source AI coding agent OpenCode 是一个开源的 AI 编程助手,支持: ✅ 在终端(CLI)中直接对话写代码,与ClaudeCodeCLI类似 ✅ 在 VSCode 中辅助写代码 ✅ 自动生成代码、重构代码、解释代码 ✅ 不绑定平台、可自由扩展 ✅ 对开发者非常友好 ✅ 有很多免费的大模型可以使用,不收费不排队 1.2 本教程你能学到什么?...

Feb 3, 20263 min read

杨涌彪的博客

33 posts