在安装CXImage前,需确保系统已更新,并安装其依赖的图像处理库(如libpng、libjpeg等)。不同发行版的依赖安装命令如下:
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential libpng-dev libjpeg-dev libtiff-dev libgif-dev -y
sudo dnf groupinstall "Development Tools" -y # Fedora/CentOS 8+使用dnf,CentOS 7及以下用yum
sudo dnf install libpng-devel libjpeg-turbo-devel libtiff-devel libgif-devel -y
依赖库是CXImage正常编译和运行的基础,缺少会导致编译错误。
CXImage的源码托管在GitHub仓库,可通过git
克隆最新版本:
git clone https://github.com/antaresware/cximage.git
cd cximage
若需特定版本,可替换为对应标签(如v1.0.0
):
git clone -b v1.0.0 https://github.com/antaresware/cximage.git
源码下载后,进入项目目录准备编译。
使用CMake
生成Makefile(推荐方式,支持跨平台编译):
mkdir build && cd build # 创建并进入build目录(隔离编译文件)
cmake .. # 生成Makefile(默认配置即可,如需自定义可添加-DCMAKE_INSTALL_PREFIX=路径)
make # 编译源码(多核加速可加-j参数,如make -j4)
编译过程会检查依赖是否满足,若有缺失会提示错误,需根据提示安装对应库。
编译完成后,将生成的库文件(.so
)和头文件(.h
)安装到系统目录:
sudo make install # 默认安装路径:头文件→/usr/local/include;库文件→/usr/local/lib
安装后,系统可全局识别CXImage的头文件和库。
若编译或运行时出现“找不到头文件/库”的错误,需将CXImage的路径添加到环境变量:
~/.bashrc
(或~/.zshrc
,根据shell类型):echo 'export CPLUS_INCLUDE_PATH=/usr/local/include:$CPLUS_INCLUDE_PATH' >> ~/.bashrc
echo 'export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc # 动态库路径
source ~/.bashrc
这一步可避免每次编译时手动指定路径。
编写一个简单的C++测试程序,检查CXImage是否能正常加载和保存图像:
// test_cximage.cpp
#include <iostream>
#include "cximage.h"
int main() {
CXImage image;
if (image.Load("test.jpg", CXIMAGE_FORMAT_JPG)) { // 替换为本地存在的图像路径
std::cout << "Image loaded successfully!" << std::endl;
if (image.Save("output.png", CXIMAGE_FORMAT_PNG)) {
std::cout << "Image saved as PNG successfully!" << std::endl;
} else {
std::cerr << "Failed to save image." << std::endl;
}
} else {
std::cerr << "Failed to load image." << std::endl;
}
return 0;
}
编译并运行:
g++ -o test_cximage test_cximage.cpp -lcximage # 链接CXImage库
./test_cximage
若输出“Image loaded successfully!”和“Image saved as PNG successfully!”,则说明安装成功。
apt
直接安装libcximage-dev
(如Debian/Ubuntu),可跳过源码编译步骤,但版本可能较旧,建议需要最新功能时选择源码安装。sudo apt install cmake -y # Debian/Ubuntu
sudo dnf install cmake -y # Fedora/CentOS/RHEL
libpng-dev
、libjpeg-dev
)是否安装完整。