在安裝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
)是否安裝完整。