主页

cmake之函数

函数 添加函数 为每个源文件添加 __FILENAME__ 宏 # utils.cmake #重新定义当前目标的源文件的 __FILENAME__ 宏 function(redefine_file_macro targetname) #获取当前目标的所有源文件 get_target_property(source_files "${targetname}" SOURCES) #遍历源文件 foreach(sourcefile ${source_files}) #获取当前源文件的编译参数 get_property(defs SOURCE "${sourcefile}" PROPERTY COM...

阅读更多

msys2环境下使用外部mingw64编译器

电脑环境 Windows 10 msys2 QT5.14.2 mingw64(已安装) 步骤 安装 msys2 下载安装包 https://www.msys2.org/ 运行安装包,选择安装目录,默认安装即可 配置 msys2 运行 msys2,输入 pacman -Syu 更新软件包 安装常用软件包:pacman -S git zsh vim tree make autoconf automake libtool 安装 mingw64 编译器:pacman -S mingw-w64-x86_64-toolchain 注意:如果要使用外部编...

阅读更多

ubuntu下交叉编译tinyalsa

环境 Ubuntu 20.04.2 LTS tinyalsa-2.0.0 下载源码 Github https://github.com/tinyalsa/tinyalsa 解压 tar -xvf tinyalsa-2.0.0.tar.bz2 编译源码 添加交叉编译配置 # vim toolchain_arm_linux_gcc.cmake # 设置C和C++编译器路径 set(CMAKE_C_COMPILER "/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc") set(CMAKE_C...

阅读更多

ubuntu下交叉编译alsa-lib和alsa-utils

环境 Ubuntu 20.04.2 LTS alsa-lib-1.2.2 alsa-utils-1.2.2 下载源码 官网https://www.alsa-project.org 解压 tar -xvf alsa-lib-1.2.2.tar.bz2 tar -xvf alsa-utils-1.2.2.tar.bz2 安装依赖 sudo apt install -y build-essential gcc g++ cmake libxkbcommon-x11-dev libgl1-mesa-dev libglu1-mesa-dev libfontconfig1-dev libmysqlclient-dev l...

阅读更多

ubuntu下编译QT

环境 Ubuntu 20.04.2 LTS Qt 5.14.2 下载源码 官网https://download.qt.io/archive/qt/ 完整路径https://download.qt.io/archive/qt/5.14/5.14.2/single/qt-everywhere-src-5.14.2.tar.xz 解压 # 注意解压路径不要有中文 tar -xvf qt-everywhere-src-5.14.2.tar.xz 安装依赖 sudo apt install -y build-essential gcc g++ cmake libxkbcommon-x11-dev libgl1-mesa-dev lib...

阅读更多

音频调试相关

概述 音频调试是在开发过程中对Android系统中的音频功能进行故障排除和优化的重要步骤。通过调试音频相关的问题,可以确保音频功能的正常运行,并提供更好的用户体验。本文将介绍一些常见的音频调试方法和工具,以及在Android系统中进行音频调试的一般流程。 Android framework Android framework是Android系统中的一个重要组成部分,它提供了访问音频硬件和实现音频功能的接口和类。在进行音频调试时,可以利用Android framework提供的工具和方法来诊断和解决问题。 dumpsys dumpsys media.audio_flinger命令是Android系统中一个强大的调试命令,它可以用于查看音频服务的详细信息。通过运行该命令,可以获取...

阅读更多

C++11新特性之type_traits

概述 C++11中的type_traits是一个模板元编程库,它提供了一些模板类和模板函数,用于在编译期间进行类型信息的查询和转换。它可以帮助我们编写更加通用和可靠的代码,避免了很多运行时类型检查和转换的开销。 中文官方网址 zh.cppreference 头文件 #include <type_traits> 基本类型特性 以下模板类和函数用于判断基本类型的特性: 模板类/函数 描述 std::is_void 是否为void类型 std::is_integral 是否为整数类型 std...

阅读更多

代码格式化工具clang-format的安装和使用

简介 clang-format是一个由LLVM项目提供的代码格式化工具,可以自动化地格式化C、C++、Objective-C、Java、JavaScript和Protobuf等语言的代码。它可以根据自定义的风格规则,将代码自动格式化成统一的风格,提高代码的可读性和可维护性。 安装 Linux 在Linux系统中,我们可以使用包管理工具来安装clang-format。 在Debian/Ubuntu系统中,可以使用以下命令安装: sudo apt-get update sudo apt-get install clang-format 在Fedora系统中,可以使用以下命令安装: sudo dnf install clang-tools-extra macOS 在m...

阅读更多