CharLS 开源项目教程

CharLS 开源项目教程

charlsCharLS, a C++ JPEG-LS library implementation项目地址:https://gitcode.com/gh_mirrors/ch/charls

1. 项目的目录结构及介绍

CharLS 项目的目录结构如下:

charls/
├── CMakeLists.txt
├── LICENSE
├── README.md
├── include/
│   └── charls/
│       ├── charls.h
│       ├── charls_advanced.h
│       └── charls_version.h
├── src/
│   ├── charls_jpegls_encoder.cpp
│   ├── charls_jpegls_encoder.h
│   ├── charls_jpegls_decoder.cpp
│   ├── charls_jpegls_decoder.h
│   ├── default_traits.h
│   ├── jpeg_stream_reader.cpp
│   ├── jpeg_stream_reader.h
│   ├── jpeg_stream_writer.cpp
│   ├── jpeg_stream_writer.h
│   ├── lookup_table.h
│   ├── process_line.h
│   ├── public_types.h
│   ├── scan_analyzer.h
│   ├── static_fix_size_queue.h
│   ├── util.h
│   └── version.h
├── test/
│   ├── CMakeLists.txt
│   ├── charls_test.cpp
│   ├── charls_test.h
│   ├── charls_test_all.cpp
│   ├── charls_test_all.h
│   ├── charls_test_config.h
│   ├── charls_test_fixture.cpp
│   ├── charls_test_fixture.h
│   ├── charls_test_helper.cpp
│   ├── charls_test_helper.h
│   ├── charls_test_logging.h
│   ├── charls_test_reference_io.cpp
│   ├── charls_test_reference_io.h
│   ├── charls_test_transform.cpp
│   ├── charls_test_transform.h
│   ├── charls_test_unit.cpp
│   ├── charls_test_unit.h
│   ├── charls_test_utilities.cpp
│   ├── charls_test_utilities.h
│   ├── main.cpp
│   └── test_data/
└── tools/
    ├── CMakeLists.txt
    ├── charlstest.cpp
    └── charlstest.h

目录结构介绍

  • include/:包含项目的头文件。
  • src/:包含项目的源代码文件。
  • test/:包含项目的测试代码文件。
  • tools/:包含项目的工具代码文件。

2. 项目的启动文件介绍

CharLS 项目的启动文件是 main.cpp,位于 test/ 目录下。这个文件是测试程序的入口点,负责初始化和运行测试用例。

// test/main.cpp
#include "charls_test_all.h"
#include "charls_test_logging.h"

int main()
{
    const int result = CharLSTestAll::Execute();
    return result;
}

3. 项目的配置文件介绍

CharLS 项目没有显式的配置文件,其配置主要通过 CMake 构建系统进行管理。主要的配置文件是 CMakeLists.txt,位于项目根目录和各个子目录中。

根目录下的 CMakeLists.txt

cmake_minimum_required(VERSION 3.1)
project(CharLS CXX)

set(CHARLS_VERSION_MAJOR 2)
set(CHARLS_VERSION_MINOR 3)
set(CHARLS_VERSION_PATCH 0)

set(CHARLS_VERSION "${CHARLS_VERSION_MAJOR}.${CHARLS_VERSION_MINOR}.${CHARLS_VERSION_PATCH}")

include(GNUInstallDirs)
include(CTest)

add_subdirectory(src)
add_subdirectory(test)
add_subdirectory(tools)

install(FILES LICENSE README.md DESTINATION ${CMAKE_INSTALL_DOCDIR})

src/ 目录下的 CMakeLists.txt

set(CHARLS_SRC_FILES
    charls_jpegls_encoder.cpp
    charls_jpegls_encoder.h
    charls_jpegls_decoder.cpp
    charls_jpegls_decoder.h

charlsCharLS, a C++ JPEG-LS library implementation项目地址:https://gitcode.com/gh_mirrors/ch/charls

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

齐添朝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值