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_...
cmake之find_package
基本调用模式
CMake的find_package指令用于查找并载入一个外部包的设置.详细了解请点击
find_package(<PackageName> [version] [EXACT] [QUIET] [MODULE]
[REQUIRED] [[COMPONENTS] [components...]]
[OPTIONAL_COMPONENTS components...]
[NO_POLICY_SCOPE])
自定义module包
自定义config包
我们可以自定义一个module给别人使用,步骤如下:
生成静态库和动态库(同时)
install库相关文件
in...
SDL2之播放音频
SDL2音频子系统相关API介绍
实验环境
QT 5.14.2(mingw730_64)
SDL2.0.16
音频相关结构体
// 音频格式
typedef Uint16 SDL_AudioFormat;
// audio flags
#define SDL_AUDIO_MASK_BITSIZE (0xFF)
#define SDL_AUDIO_MASK_DATATYPE (1<<8)
#define SDL_AUDIO_MASK_ENDIAN (1<<12)
#define SDL_AUDIO_MASK_SIGNED (1<<15)
#define SDL_AUDIO_BIT...
GDB常用命令
1. 概述
转自链接
GDB 全称“GNU symbolic debugger”,从名称上不难看出,它诞生于 GNU 计划(同时诞生的还有 GCC、Emacs 等),是 Linux 下常用的程序调试器。发展至今,GDB 已经迭代了诸多个版本,当下的 GDB 支持调试多种编程语言编写的程序,包括 C、C++、Go、Objective-C、OpenCL、Ada 等。实际场景中,GDB 更常用来调试 C 和 C++ 程序。一般来说,GDB主要帮助我们完成以下四个方面的功能:
启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
在某个指定的地方或条件下暂停程序。
当程序被停住时,可以检查此时你的程序中所发生的事。
在程序执行过程中修改程序中的变量或条件,将一个b...
C++的boost库的下载编译
概述
来自维基百科
Boost C++ 库(Libraries)是一组扩展C++功能的经过同行评审(Peer-reviewed)且开放源码程序库。大多数的函数为了能够以开放源码或者封闭项目的方式运作,而许可于Boost软件许可协议(Boost Software License)之下。许多Boost的开发人员是来自C++标准委员会,而部分的Boost库成为C++的TR1标准之一。
为了要确保库的效率与弹性,Boost广泛的使用模板(template)功能。而它是针对各式领域的C++用户与应用领域(Application Domain)上,包含的库类别从像smart_ptr库这种类通用库,到像是文件系统的操作系统抽象层,甚至能够利用Boost来开发额外的库或是给高级的C++用户利用,像...
共计 77 篇文章,10 页。