在 Ubuntu 上运行 CXImage 的完整指南
一 安装方式选择
- 优先使用发行版包管理器安装(简单、稳定):执行 sudo apt install libcximage-dev。安装后用 pkg-config --cflags --libs cximage 验证是否可用。若命令输出了编译与链接参数,说明开发文件与库已就绪。
- 若仓库版本过旧或需要特定分支/补丁,则从源码构建(可控、可定制):安装构建工具与图像依赖后,使用 CMake 或 Autotools 构建并安装。
二 方式一 使用 APT 安装并验证
- 更新索引并安装:sudo apt update && sudo apt install libcximage-dev。
- 验证 pkg-config:pkg-config --cflags --libs cximage(应返回包含路径与 -lcximage 等链接标志)。
- 编译测试程序:g++ test.cpp -o test $(pkg-config --cflags --libs cximage)。
- 运行:./test。
- 说明:该方式适合大多数场景,省去手动解决依赖与路径问题。
三 方式二 从源码构建
- 安装依赖与工具:sudo apt install build-essential cmake git;以及图像格式依赖 libpng-dev libjpeg-dev libtiff-dev libgif-dev libwebp-dev zlib1g-dev。
- 获取源码:git clone https://github.com/cximage/cximage.git && cd cximage。
- 构建与安装(CMake,推荐):mkdir build && cd build && cmake … && make -j$(nproc) && sudo make install。
- 构建与安装(Autotools,备选):执行 autotools 流程(如 aclocal、autoconf、automake)后 ./configure && make && sudo make install。
- 验证:pkg-config --cflags --libs cximage;若提示找不到,检查安装前缀是否为 /usr/local 并在需要时设置 PKG_CONFIG_PATH。
- 注意:旧版本(如 599c)在 TIFF 支持上可能需要补丁或额外配置,若使用老版本请参考对应说明。
四 运行与集成要点
- 编译自己的程序:g++ main.cpp -o app $(pkg-config --cflags --libs cximage);若未使用 pkg-config,可手动添加 -I/usr/local/include -L/usr/local/lib -lcximage。
- 头文件引用:常见为 #include “cximage.h” 或 #include <cximage.h>,以实际安装的头文件路径为准。
- 运行时库路径:若安装在 /usr/local/lib,可能需要导出 LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH,或将其写入 ~/.bashrc 并执行 source ~/.bashrc。
- 最小示例:
#include “cximage.h”
int main(){ CxImage img; if(img.Load(“in.png”, CXIMAGE_FORMAT_PNG)) img.Save(“out.jpg”, CXIMAGE_FORMAT_JPG); return 0; }
- 链接选项:多数发行版构建的库名为 libcximage.so,链接用 -lcximage;若你的构建产物名为 libCxImage.so,则改为 -lCxImage。
五 常见问题与排查
- 找不到头文件或库:确认安装了 libcximage-dev;源码安装时检查 /usr/local/include/cximage.h 与 /usr/local/lib/libcximage.so 是否存在;必要时设置 CPLUS_INCLUDE_PATH、LIBRARY_PATH、LD_LIBRARY_PATH 或 PKG_CONFIG_PATH。
- pkg-config 找不到 cximage:确认开发包已安装,或设置 PKG_CONFIG_PATH 指向包含 cximage.pc 的目录(如 /usr/local/lib/pkgconfig)。
- 链接失败:确保使用正确的链接标志(如 -lcximage 或 -lCxImage),并链接相关图像库(多数发行版已通过 .pc 文件或构建系统自动处理)。
- 老版本 TIFF 兼容问题:旧版源码(如 599c)在 tif_xfile.cpp 等处可能需要补丁;升级到新版本或按教程修补后再编译。