在 Linux 下使用 CxImage(一个用于图像处理的 C++ 库)通常涉及源码编译 + 项目集成。下面给你一套实用、可落地的配置步骤,适用于大多数 Linux 发行版(Ubuntu / CentOS / Debian 等)。
CxImage 是一个 C++ 图像处理库,支持:
⚠️ 注意:CxImage 官方主要面向 Windows,Linux 下需要自己配置编译(Makefile 或 CMake)。
git clone https://github.com/cloneur/cximage.git
cd cximage
如果你找到的是 zip 包,直接解压即可。
sudo apt update
sudo apt install -y build-essential libjpeg-dev libpng-dev libtiff-dev zlib1g-dev
进入源码目录:
cd cximage
通常结构类似:
cximage/
├── CxImage/
├── jpeg/
├── png/
├── tiff/
├── zlib/
└── Makefile
编译:
make
✅ 成功后会生成:
libcximage.a 或 libcximage.sosudo cp lib/*.a /usr/local/lib/
sudo cp CxImage/*.h /usr/local/include/
#include <ximage.h>
#include <iostream>
int main() {
CxImage image;
if (!image.Load("test.jpg", CXIMAGE_FORMAT_JPG)) {
std::cerr << "Load failed" << std::endl;
return -1;
}
image.Save("out.png", CXIMAGE_FORMAT_PNG);
return 0;
}
g++ main.cpp -I/usr/local/include \
-L/usr/local/lib -lcximage -ljpeg -lpng -lz -o test
undefined reference原因:链接顺序错误
✅ 正确顺序:
-lcximage -ljpeg -lpng -lz
可以自己写简单 Makefile:
CXX = g++
CXXFLAGS = -I./CxImage
SRCS = $(wildcard CxImage/*.cpp)
OBJS = $(SRCS:.cpp=.o)
libcximage.a: $(OBJS)
ar rcs $@ $^
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
确保:
#include <ximage.h>
并且编译时:
-Icximage/CxImage
如果你不是必须 CxImage,Linux 下更推荐:
你可以告诉我:
我可以给你定制编译脚本或 CMakeLists.txt。