下面给你一套在 Debian 上编译 CxImage 的实用步骤。CxImage 比较老,官方代码多为 Windows 取向,但在 Linux/Debian 下也能编译(主要用其静态库 + 基础图像功能)。
sudo apt update
sudo apt install -y \
build-essential \
git \
cmake \
libjpeg-dev \
libpng-dev \
libtiff-dev \
libgif-dev
(CxImage 支持多种格式,按需要装)
官方版本较旧,推荐用 GitHub 镜像:
git clone https://github.com/ata4/cx image.git
cd cximage
或:
git clone https://github.com/cximage/cximage.git
很多 CxImage 源码自带 Makefile:
cd cximage
make
生成的通常是:
libcximage.a如果报错,常见于:
CXXFLAGS 缺少 -fPIC可手动改 Makefile 或加:
make CXXFLAGS="-fPIC -O2"
有些版本有 CMakeLists.txt:
mkdir build
cd build
cmake ..
make -j$(nproc)
若没有 CMake 支持,可自行写最小 CMakeLists.txt(我可以提供)。
示例 test.cpp:
#include "ximage.h"
#include <stdio.h>
int main() {
CxImage image;
if (image.Load("test.jpg", CXIMAGE_FORMAT_JPG)) {
printf("Load OK\n");
image.Save("out.png", CXIMAGE_FORMAT_PNG);
} else {
printf("Load failed\n");
}
return 0;
}
编译:
g++ test.cpp -I./cximage -L./cximage -lcximage -ljpeg -lpng -o test
运行:
./test
undefined reference确保链接顺序:
-lcximage -ljpeg -lpng -lz
fatal error: jpeglib.hsudo apt install libjpeg-dev
老代码可能不兼容新编译器:
g++ -std=c++98
⚠️ CxImage 已多年不维护
如果是新项目,强烈建议:
libpng + libjpegOpenCVstb_image如果你愿意,可以告诉我:
我可以给你精确可用的 Makefile 或 CMake 配置。