草庐IT

CMAKE_C_COMPILER

全部标签

cmake应用:集成gtest进行单元测试

编写代码有bug是很正常的,通过编写完备的单元测试,可以及时发现问题,并且在后续的代码改进中持续观测是否引入了新的bug。对于追求质量的程序员,为自己的代码编写全面的单元测试是必备的基础技能,在编写单元测试的时候也能复盘自己的代码设计,是提高代码质量极为有效的手段。  在本系列前序的文章中已经介绍了CMake很多内容,本文是针对单元测试的外延。本系列更多精彩文章敬请关注公众号【很酷的程序员】的话题:CMake。  本文主要介绍以下几个方面的内容:  1、何为单元测试  2、何为gtest  3、怎么使用gtest  4、怎么运行测试一单元测试是什么?  单元测试(UnitTesting),一般

使用CMake启用RUNPATH特性

使用CMake,启用RUNPATH特性,可以参考官方帖子。如下源码来自于上述帖子。CMAKE_MINIMUM_REQUIRED(VERSION2.8FATAL_ERROR)PROJECT(RUNPATHC)SET(CMAKE_VERBOSE_MAKEFILEON)SET(CMAKE_INSTALL_RPATH$ENV{HOME}/lib)FILE(WRITE${CMAKE_BINARY_DIR}/main.c"intmain(void){return0;}\n")ADD_EXECUTABLE(mainmain.c)INSTALL(TARGETSmainRUNTIMEDESTINATIONbin

使用CMake启用RUNPATH特性

使用CMake,启用RUNPATH特性,可以参考官方帖子。如下源码来自于上述帖子。CMAKE_MINIMUM_REQUIRED(VERSION2.8FATAL_ERROR)PROJECT(RUNPATHC)SET(CMAKE_VERBOSE_MAKEFILEON)SET(CMAKE_INSTALL_RPATH$ENV{HOME}/lib)FILE(WRITE${CMAKE_BINARY_DIR}/main.c"intmain(void){return0;}\n")ADD_EXECUTABLE(mainmain.c)INSTALL(TARGETSmainRUNTIMEDESTINATIONbin

Java - You aren‘t using a compiler supported by lombok, so lombok will not work and has been disable

问题描述java:Youaren‘tusingacompilersupportedbylombok,solombokwillnotworkandhasbeendisabled原因分析一般出现这种情况是由于Lombok版本不兼容(低版本)或者IDEA启动时需要配置JVM参数跳过即可解决方案方法一将Lombok版本提升至1.18.24后问题就可以解决org.projectlomboklomboktrue1.18.24方法二在Compiler中增加如下参数配置即可(推荐)-Djps.track.ap.dependencies=false

android - 在 Android 上使用 Address Sanitizer 构建,但使用 CMake

我正在尝试为android构建一个.so,我想使用地址清理器进行构建,但我看到的唯一说明是针对基于AndroidNDK的Makefile,但我使用的是较新的认可CMake设置。仅添加标志-fsanitize=address是不够的,因为缺少clang运行时库。在我的CMakeListsforAndroid构建库中添加什么是正确的? 最佳答案 您还需要按照documentation中的说明准备您的设备.您必须从NDK运行asan_device_setup脚本。它会将asan.so放在设备上。

android - 如何强制 CMake 在 Android NDK 项目中使用响应文件?

我有一个包含NDK组件的Android项目,配置为使用CMake构建。根据项目目录在驱动器上的位置,我可能会收到“命令行太长”的提示。CMake尝试构建此项目时出错。这是因为CMake汇编了巨大的命令行,列出了项目中的所有.cpp文件。我读到CMake有一种称为“响应文件”的机制来解决这个问题,但我找不到在NDK项目中启用它们的方法。有什么建议吗? 最佳答案 你canspecifyresponsefile在CMakeLists.txt或build.gradle中,添加android{defaultConfig{...external

Android RoomDatabase - 无法解析 android.arch.persistence.room :compiler:1. 0.0

Error:Couldnotresolveallfilesforconfiguration':app:debugAnnotationProcessorClasspath'.Couldnotresolveandroid.arch.persistence.room:compiler:1.0.0.Requiredby:project:appNocachedversionofandroid.arch.persistence.room:compiler:1.0.0availableforofflinemode.Nocachedversionofandroid.arch.persistence.r

【VSCode】Windows环境下,VSCode 搭建 cmake 编译环境(通过配置文件配置)

除了之前的使用VSCode插件来编译工程外,我们也可以使用配置文件来编译cmake工程,主要依赖launch.json和tasks.json文件。目录一、下载编译器1、下载WindowsGCC2、选择编译器路径二、配置debug环境1、配置lauch.json文件2、配置tasks.json文件三、编译工程1、测试工程结构2、开始编译 一、下载编译器1、下载WindowsGCC这里是在Windows环境下,所以下载的是Windows环境使用的gcc编译器。下载地址: MinGW-w64-for32and64bitWindows-BrowseFilesatSourceForge.net下载完毕后

android - 发生 CMake 与服务器通信错误

我正在构建一个需要一些NDK代码的项目,但最近几天这个问题让我抓狂。这只是一个使用NDK的空项目,它是按照AS指南创建的,没有任何改变。环境:AndroidStudio3.2.1构建#AI-181.5540.7.32.5056338,构建于2018年10月9日JRE:1.8.0_152-release-1136-b06amd64JVM:JetBrainss.r.o的OpenJDK64位服务器VMWindows1010.0CMake版本3.10.2.4988404(由SDK管理器下载)提示如下:SupportforCMake3.7andhigherisapreviewfeature.To

android - 配置 : error: C compiler cannot create executables when configuring for Android

我已经下载了CPP单元测试框架并尝试为Android编译。但是,面临配置问题。我试着制作Standalonetoolchain还尝试配置但总是失败sh-4.1$./configureCXX=arm-linux-androideabi-g++CC=arm-linux-androideabi-gccCPP=arm-linux-androideabi-g++CXXCPP=arm-linux-androideabi-g++checkingforaBSD-compatibleinstall.../usr/bin/install-ccheckingwhetherbuildenvironmentis