主页

ffmpeg之音频格式

样本格式 基于ffmpeg-4.3.2 相关头文件 #include <libavutil/samplefmt.h> 相关定义 音频样本格式: enum AVSampleFormat { AV_SAMPLE_FMT_NONE = -1, AV_SAMPLE_FMT_U8, ///< unsigned 8 bits AV_SAMPLE_FMT_S16, ///< signed 16 bits AV_SAMPLE_FMT_S32, ///< signed 32 bits AV_SAMPLE_FMT_FLT, ///< float...

阅读更多

cmake之编译库

简介 下面一个基本库的编译安装为例 目录结构 编译前 math ├── CMakeLists.txt └── src ├── MathFunctions.cc └── MathFunctions.h 编译安装后 math ├── CMakeLists.txt ├── dist │ ├── include │ │ └── MathFunctions.h │ └── lib │ ├── libMathFunctions.a │ ├── libMathFunctions.dll │ └── libMathFunctions.dll.a └── src ├── MathFunc...

阅读更多

cmake之常用命令

概述 更多详细示例请点击cmake-demo查看 步骤 windows下需要手动设置编译器 mkdir build cd build cmake ../ make make install 基本项目 # CMake 最低版本号要求 cmake_minimum_required (VERSION 2.8) # 项目信息 project (Demo1) # 指定生成目标 add_executable(${PROJECT_NAME} main.cc) 查找目录下的所有源文件 # 查找目录下的所有源文件 # 并将名称保存到 DIR_SRCS 变量 aux_source_directory(. DIR_SRCS) # 多目录 aux_sou...

阅读更多

cmake之交叉编译

交叉编译 使用方法 cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake .. 编写cmake工具链文件 目前在Linux上交叉编译成功,在Windows上使用MinGW交叉编译失败 # 设置系统名 set(CMAKE_SYSTEM_NAME Linux) # 设置硬件平台(不是必需的) set(CMAKE_SYSTEM_PROCESSOR arm) set(MY_TOOL_DIR /opt/toolchain-arm_cortex-a7+neon_gcc-5.3.0_glibc-2.22_eabi) set(MY_CROSS arm-openwrt-linux-) set(CMAKE_C_COMPILER ${MY_T...

阅读更多

cmake之test命令

添加CTEST测试 需要先实现一个可以接受输入参数的可执行程序,用 add_executable 就可以,不用管这个可执行程序的存放目录,CMake 会帮你自动填上。 # 启用测试 enable_testing() # 测试 5 的平方 # add_test (test_5_2 Demo 5 2) # set_tests_properties (test_5_2 PROPERTIES PASS_REGULAR_EXPRESSION "is 25") # 定义一个宏,用来简化测试工作 macro (do_test arg1 arg2 result) add_test (test_${arg1}_${arg2} Demo ${arg1}${arg2}) s...

阅读更多

cmake之message命令

blog cmake之message函数 message :为用户显示一条消息 message( [STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] “message to display” …) message( [STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...) 消息类型 (无) = 重要消息 STATUS = 非重要消息 WARNING = CMake 警告, 会继续执行 AUTHOR_WARNING = CMake 警告 (dev), 会继续执行 SEND_ERR...

阅读更多

cmake之list命令

列表操作命令 总语法: list(LENGTH <list> <output variable>) list(GET <list> <element index> [<element index> ...] <output variable>) list(APPEND <list> <element> [<element> ...]) list(FIND <list> <value> <output variable>) list(INSERT <list> <element_index> <eleme...

阅读更多

cmake之install

make install打包安装 install用于指定在安装时运行的规则。它可以用来安装很多内容,可以包括目标二进制、动态库、静态库以及文件、目录、脚本等: install(TARGETS <target>... [...]) install({FILES | PROGRAMS} <file>... [...]) install(DIRECTORY <dir>... [...]) install(SCRIPT <file> [...]) install(CODE <code> [...]) install(EXPORT <export-name> [...]) 指定安装位置 CMAKE_INSTALL_...

阅读更多