Jian's Note

It's better to burn out than fade away!

CMake 笔记 | [14] 检测Python模块和包

一、检测Python模块和包 引用 上一篇,我们基本了解了如何检测python的解释器和python库。通常,代码是依赖于特定的python模块的,无论是python工具、嵌入python的程序,还是扩展python的库。例如,numpy包。依赖于python模块或包的项目中,确定满足对这些python

CMake 笔记 | [13] 检测python解释器和python库

一、检测python解释器和python库 导言 python是一种非常流行的语言。许多项目用python编写的工具,从而将主程序和库打包在一起,或者在配置或构建过程中使用python脚本。这种情况下,确保运行时python解释器的依赖也需要得到满足。本篇将展示如何检测和使用python解释器。 除此之外

CMake 笔记 | [12] 检测环境

一、CMake:为Eigen库使能向量化 导言 本篇开始将涉及检测外部库相关的内容,期间会穿插着一些其他的内容。为了能够使得系统在系统中运行Eigen库,我们首先需要在系统中配置好Eigen库。然后介绍与Eigen库相关的CMake配置。 二、构建Eigen Windows 从官网下载安装包(下载ZIP格式): https://eigen.tuxfamily.org/index.php?title=Main_Page Eigen 下载官

CMake 笔记 | [11] 检测环境

一、CMake:检测环境 导言 通过前面几篇的学习,我们掌握CMake以及与C++相关的基本知识。尽管CMake跨平台,但有时源代码并不是完全可移植。为了使得我们的源代码能够跨平台、操作系统和编译器,根据平台不同的方式配置和/或构建代码是在构建项目过程中必不可少的环节。 二、检测操作系统 CMake是一组跨

CMake 笔记 | [10] 使用控制流

一、CMake:使用控制流 导言 在前面的示例中,我们已经使用过if-else-endif。CMake还提供了创建循环的语言工具:foreach-endforeach和while-endwhile。两者都可以与break结合使用,以便尽早从循环中跳出。而本篇也是为第一章的完结篇,算是正式的踏入了CMak

CMake 常用命令查询

cmake常用命令的一些整理 CMake 是什么我就不用再多说什么了,相信大家都有接触才会看一篇文章。对于不太熟悉的开发人员可以把这篇文章当个查找手册。 1.CMake语法 1.1 指定cmake的最小版本 1 cmake_minimum_required(version 版本号) 例如: 1 cmake_minimum_required(version 2.8) 1.2 定义工程名称 1 2 #定义工程名称 project(项目名称) 例如: 1 project(MyTest) 1.3 显示定义变量 1 set(var [value]) 例如

configure、make、make install 背后的原理

1、 简介 1 2 3 ./configure make make install 以上三个命令是源码安装软件的通用步骤。其主要完成以下工作: ./configure: 配置,是用来检测你的安装平台的目标特征。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。configure 脚本负责在使用的系统上准备好软件的构建环境。确保接下来的构建和安装过程所需要的

Google Benchmark 性能测试分析工具

0. 简介 作为一个程序而言,benchmark是非常关键的一个衡量指标,无论是程序算法的指标还是程序运行性能的指标,这些我们都可以去完成衡量。对于性能衡量而言google benchmark无疑是一个比较好的选择。 性能测试工具对比 1. google benchmark安装 google benchmark 下载地址 编译安装: 登录 linux环境,执行以下

CMake 笔记 | [9] 设置语言标准 (三)

四、C++ 20新增特性 4.1 新增关键字 concept(见下文) requires std::require 是一个constexpr 函数模板,用于在编译时检查某个表达式的真假值。如果表达式为真,则该函数返回一个无意义的类型 void_t;否则编译会失败,出现相应的错误信息 consteval 用来修饰函数时常量值的表达式,而且是强制性的。如果函数本身不是常量值的表达

CMake 笔记 | [8] 设置语言标准 (二)

三、C++ 14新特性 3.1 函数返回值类型推导 c++14对函数返回值类型推导规则做了优化:用auto推导函数的返回值 1 2 3 4 5 6 7 8 9 10 #include <iostream> using namespace std; auto func(int i) { return i; } int main() { cout << func(4) << endl; return 0; } 上面的代码使用C++11是不能通过编译的,通过编译器输出的信息得知这个特性需要到C++14才被支持。 返回值类型推导也可以用在
0%