CMake基础篇(四)——函数
CMake基础篇(四)——函数前言: 本篇文章帮助你快速熟悉CMake函数的使用。 1 定义函数 CMake支持函数定义,CMake的变量是区分大小写的,包括函数的传入参数,但函数名不区分大小写。 以下定义了一个名为 FunName 的函数。 12345678910project(ProjectName)function(FunName Param0 Param1) message(STATUS "${Param0}") message(STATUS "${Param1}") # message(STATUS "${param1}") # Error.endfunction()FunName(5 10)funname(1 2) 执行结果为。 12345╰─ cmake ..-- 5-- 10-- 1-- 2 也可以通过...
CMake基础篇(三)——变量
CMake基础篇(三)——变量前言: 本篇文章帮助你快速熟悉CMake变量的使用。 1 介绍 Cmake定义变量有显示和隐式两种。显示为使用 set 函数定义的变量,隐式是CMake自动创建的变量。CMake新增变量不需要提前有个变量定义操作,直接使用即自动完成变量定义。 更详细的变量信息查询可以访问 官网对CMake变量的说明 。 2 隐式变量 比如以下代码, project(ProjectName) 函数定义了该项目的名称为 ProjectName ,同时CMake会隐式的定义 ProjectName_SOURCE_DIR 和 ProjectName_BINARY_DIR 两个变量。 123project(ProjectName)message(STATUS "${ProjectName_SOURCE_DIR}")message(STATUS "${ProjectName_BINARY_DIR}") 3...
CMake基础篇(二)——构建并编译简单Demo
CMake基础篇(二)——构建并编译简单Demo前言: 本篇举例一个最简单的CMake构建的工程,帮助快速熟悉CMake。 1 CMake简介 CMake是一种跨平台的编译工具,它语法简单,可以输出各种各样的makefile或project文件。CMake用于产生标准的构建档,使得开发者可以在不同的平台用标准的方式构建软件,实现一次编写编译规则,多个平台相同编译。 2 编写CMakeLists CMake的代码是写在CMakeLists文件中,通过执行 cmake 指令生成 Makefile 文件,接着在执行 make 指令编译生成目标文件。以下用一个最简化的Demo做一个演示,跑一遍构建、编译到运行的过程。 目录结构如下。 123.├── CMakeLists.txt└── main.c main.c 123456#include <stdio.h>void main(void){ printf("Hello...
自娱自乐,我的博客(十七)——腾讯云SSL证书申请
自娱自乐,我的博客(十七)——腾讯云SSL证书申请前言: 在腾讯云上可以免费申请SSL证书,本篇文章介绍如何申请并配置SSL证书。 1 介绍 SSL证书(Secure Sockets Layer,现在通常指TLS证书,即Transport Layer Security)的主要作用是为网站提供安全的数据传输服务。主要包含以下几个用途。 数据加密。 身份识别。 防止中间人攻击。 HTTPS标识。 建立信任。 在腾讯云使用个人域名,必须要要绑定证书。通常证书有效期是一年,到期后需要重新申请新的证书并绑定。 2 证书申请 登录腾讯云 SSL证书申请 界面。提交证书申请,填写要绑定的个人域名。 要成功绑定域名,还需要添加一条域名解析记录,我是在阿里云购买的域名,因此我在阿里云的域名配置中添加以下记录。 后在腾讯云点击 验证域名 观察验证是否通过。 证书申请成功后会显示 已签发 。 3 绑定域名3.1...
自娱自乐,我的博客(十六)——博客托管到腾讯云
自娱自乐,我的博客(十六)——博客托管到腾讯云前言: 早些搞博客的时候比较穷,白嫖博客托管,用过github,由于网速太慢切到gitee,又由于不支持私有域名换到Coding,后Coding开始收费又换到Vercel,这个网站有段时间被墙了后再次换回Coding体验几个月免费,现在免费期也到了。腾讯将静态网站托管功能从Coding移到腾讯云了,免费固然好但经常被迫搬家,要花时间折腾,现在人到中年钱有一点,更缺的是时间,因此在腾讯云正式成为付费用户。 1 腾讯云静态网站托管1.1 开通静态网站托管服务 在 腾讯云官网 搜索 网站托管 ,点击 静态网站托管 。注意,静态网站托管是包月的,不是按流量收费。 首次使用需要点击 免费开通云开发 将服务打开。 点击 同意授权...
自娱自乐,我的博客(十五)——域名ICP备案
自娱自乐,我的博客(十五)——域名ICP备案前言: 一些博客爱好者有给给自己的博客网站使用私有域名的想法,本篇文章介绍如何进行域名备案。 1 介绍 为了打击非法网站,打击不良互联网信息的传播,根据国家规定,网站域名需要备案。若从事非法活动则网站将被查处或关停。换句话说,没有备案的网站是不允许经营的,即使不从事商业活动。 2 域名备案 域名备案可以在线上进行,目前可以选择在阿里云或腾讯云进行线上备案申请。申请域名备案并不要求域名是在该平台购买的,比如我的域名是在阿里云买的,但我在腾讯云申请域名备案。 登录 腾讯云官网 ,点击 备案 即可进行线上备案申请。 填写要备案的域名,比如我的域名是 onlycalm.cn ,注意不带 www 。 添加域名后点击 新增备案 开始填写域名备案信息。 填写域名申请备案信息。重点是 备案授权码...
Ubuntu20.04安装qq音乐
Ubuntu20.04安装qq音乐前言: Ubuntu上使用qq音乐。 1 安装qq音乐 在 官网 下载linux版本的qq音乐。 2 解决闪退问题 安装完成后启动会立刻闪退,不能使用。 2.1 命令行启动 可以在命令行启动qq音乐,但该命令行不能关闭,关闭后qq音乐也会被关闭。 1qqmusic --no-sandbox 2.2 桌面快捷方式启动 编辑文件 /usr/share/applications/qqmusic.desktop 。 123456789[Desktop Entry]Name=qqmusicExec=/opt/qqmusic/qqmusic %UTerminal=falseType=ApplicationIcon=qqmusicStartupWMClass=qqmusicComment=Tencent...
Vim基础篇(二十八)——终端插件vim-floaterm
Vim基础篇(二十八)——终端插件vim-floaterm前言: 在linux下编程,终端最是常用的工具,将Vim和Terminal配合好使用将大大提高效率。 1 Vim使用终端的方式1.1 暂停Vim 在Vim界面,按下 ctrl z 会暂停当前的vim,回到Terminal界面,可以在terminal中执行命令,需要回到Vim则在Terminal中输入 fg 即可,Vim会保持退出前的状态。 1.2 内嵌终端 Vim已集成了Terminal,在Vim中执行指令 :term 会自动分割一个Terminal窗口,在其中执行指令,需要退出终端窗口,在终端中执行 exit 。以分割窗口执行终端的好处是,对窗口的操作都适用。 1.3 借助插件 本篇文章介绍vim-floaterm插件对Terminal进行管理; 2 安装vim-floaterm 通过vim-plug插件管理器安装 voldikss/vim-floaterm ,在 .vimrc...
Ubuntu安装wine运行Windows应用
Ubuntu安装wine运行Windows应用前言: 在Ubuntu下运行Windows应用,可以通过安装wine实现。 1 wine介绍 wine让你可以在Ubuntu上运行Windows应用,大多数应用都能很好的支持并运行,比如微信。 安装方法很简单,可以直接通过系统自带的软件中心安装或终端命令安装。 2 安装wine2.1 软件中心安装 打开Ubuntu自带的软件中心,搜索 wine 。 在搜索结果中选中 wine ,点击 Install ,等待安装完成(国内安装可能较慢,需要耐性等待)。 通过软件中心安装的wine是版本比较老的稳定版,如果要使用较新的版本,可通过命令行安装。 2.2 指令安装 64位Ubuntu系统,那么可运行下面命令来更新包列表。 1sudo dpkg --add-architecture i386 接着下载并添加存储库密钥。 12wget -nc...
Ubuntu安装VMware运行Windows
Ubuntu安装VMware运行Windows前言: 有一段时间没有更新博客了,实在太忙。由于工作工作需要和个人习惯,转到Ubuntu系统下写代码了,偶尔还是会用Windows,所以产生了使用双系统的需求。 1 安装VMware 在官网 下载 Workstation 16 Pro for linux版本。我用的版本是 VMware-Workstation-Full-16.2.4-20089737.x86_64 。 输入以下指令进行安装。 12chmod +x VMware-Workstation-Full-16.2.4-20089737.x86_64.bundlesudo ./VMware-Workstation-Full-16.2.4-20089737.x86_64.bundle 运行VMware安装程序,选择 I accept the terms in the license agreement...