Ubuntu下CxImage使用技巧
一 安装与配置
sudo apt update && sudo apt install -y build-essential cmake libpng-dev libjpeg-dev libtiff-dev libgif-devgit clone https://github.com/antaresware/cximage.git && cd cxImagemkdir build && cd build && cmake .. && make -j$(nproc) && sudo make install~/.bashrc:export CPLUS_INCLUDE_PATH=/usr/local/include:$CPLUS_INCLUDE_PATH 与 export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATHexport LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH,执行 source ~/.bashrcpkg-config --cflags --libs cximage二 编译与链接要点
g++ demo.cpp -o demo -lcximageg++ demo.cpp -I/path/to/include -L/path/to/lib -lcximageg++ demo.cpp -o demo $(pkg-config --cflags --libs cximage)三 常见操作代码示例
#include "ximage.h"
#include <iostream>
int main() {
CxImage image;
if (!image.Load("input.jpg", CXIMAGE_FORMAT_JPG)) {
std::cerr << "Load failed\n"; return 1;
}
if (!image.Save("output.png", CXIMAGE_FORMAT_PNG)) {
std::cerr << "Save failed\n"; return 1;
}
return 0;
}
if (!image.Crop(100, 100, 200, 200)) {
std::cerr << "Crop failed\n"; return 1;
}
if (!image.Rotate(90)) {
std::cerr << "Rotate failed\n"; return 1;
}
if (!image.Resample(800, 600)) {
std::cerr << "Resample failed\n"; return 1;
}
image.GrayScale();
g++ demo.cpp -o demo $(pkg-config --cflags --libs cximage)四 兼容性与故障排查
./configure 时报错(如“cannot guess build type”“C++ preprocessor … fails sanity check”)aclocal、autoconf -i -v -f 重新生成配置脚本;若报缺少头文件(如 jasper/jas_config.h),使用 --with-extra-includes 指定包含路径后重新配置与编译-I/-L 显式指定/etc/ld.so.conf.d/ 下添加配置并执行 sudo ldconfig