首页 > 系统相关 >Windows10+VSCode+CMake+shell脚本编译C/C++程序

Windows10+VSCode+CMake+shell脚本编译C/C++程序

时间:2023-11-07 17:55:54浏览次数:34  
标签:shell CMake VSCode PROJECT 编译 VERSION build BUILD

一、概述

  想要在Windows10上做C++验证/编译类库,借助VSCode(其实这东西要不要都行,它就是来方便查看代码的)+CMake+shell脚本做程序的编译运行。

  下面写一个小例子记录一下

  准备工作:

    1.编译环境用的是mingw64,使用其再带的g++编译,ps:记得要配置其环境变量

    2.安装cmake,并配置其环境变量

    3.目录结构

 

二、示例代码

  第一步:下载一个VSCode

  第二步:

    创建一个目录,并写一个main.cpp的文件,协商一行简单的输出

#include <iostream>
using namespace std;
//ctrl+shift+p
int main(void){
    cout <<"Hello World"<<endl;
    return 0;
}

  第三步:

    创建一个CMakeLists.txt文件,并在文件中配置其版本号,源代码路径等

#参考样例:https://blog.csdn.net/qq_43331089/article/details/127913289
cmake_minimum_required(VERSION 3.0.0)
project(scrcpy_demo VERSION 0.1.0)

#include(CTest)
#enable_testing()

#生成一个可构建的执行程序,在根目录下的build文件夹
add_executable(scrcpy_demo main.cpp)

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
#message用于输出信息
message("项目名称:"${PROJECT_NAME})
message("项目版本:"${PROJECT_VERSION})

   第四步:

    创建一个run.sh的脚本,如下:

#!/usr/bin/env bash
#自动化运行的脚本
BUILD_DIR='build'
#删除build目录
rm -rf $BUILD_DIR
#重新编译
cmake -B build -G "MinGW Makefiles"
echo $BUILD_DIR
#进入build目录
cd $BUILD_DIR
#执行make编译
mingw32-make
#运行可执行文件
./scrcpy_demo.exe

  打开mingw64命令行。输入./run.sh。如果正常执行就会输出结果

 

标签:shell,CMake,VSCode,PROJECT,编译,VERSION,build,BUILD
From: https://www.cnblogs.com/tony-yang-flutter/p/17815546.html

相关文章

  • Linux网络配置和XShell连接
    一、Linux网络配置1.1开启本地电脑VMnet8本地电脑,右键点击网络->选择"更改适配器选项"->启用VMnet8。1.2Linux配置静态IP1.2.1NAT模式设置1.3开启虚拟机登录root用户打开Vmware虚拟机,并开启Centos7,并登陆root。1.4执行命令设置静态IP①修改网卡配置文件vi/e......
  • 渗透中 PoC、Exp、Payload、RCE、IOC,Shellcode 的区别
    PoC:全称“ProofofConcept”,中文“概念验证”,常指段漏洞证明的代码。Exp:全称“Exploit”,中文“利用”,指利用系统漏洞进行攻击的动作作。Payload:中文“有效载荷”,指成功exploit之后,真正在目标系统执行的代码或指令RCE:RCE(remotecommand/codeexecute)可以让攻击......
  • 通过POWERSHELLPLUS示例脚本学PowerShell
    在AD的管理脚本中,基本都是通过ADSI接口获取AD操作接口,其中涉及PowerShell的原生cmdlets的都大同小异。今天看看AD下的Function中的脚本,有新东西可以学习。##=====================================================================##Title:Add-IADGroupMember##Descr......
  • vscode快捷输入vue2,vue3,模板
    { //Placeyoursnippetsforvuehere.Eachsnippetisdefinedunderasnippetnameandhasaprefix,bodyand //description.Theprefixiswhatisusedtotriggerthesnippetandthebodywillbeexpandedandinserted.Possiblevariablesare: //$1,......
  • 虚拟机连接Xshell
    一、检查Linux虚拟机的网络连接模式,选择NAT模式二、在VMwareWorkstationPro里,点击菜单栏上的【编辑】–>【虚拟网络编辑器】,打开下方的虚拟网络编辑器。三、NAT设置四、设置虚拟机的IP、DNS和主机名1、root用户进行如下操作2、登录centos虚拟机五、设置VMnet8在Windows上的IP属......
  • Shell内置变量 - date
    date是Shell中内置变量,用于获取日期时间。可通过以下命令,查看该内置变量的使用。date--help1、date的用法date的用法:date[OPTION]...[+FORMAT]这里介绍下常用的OPTION选项和+FORMAT格式。1.1、OPTION选项-d--date=STRING以字符串展示时间......
  • 记一次对某变异webshell的分析
    0x01前言在某活动中捕获到一个变异的webshell(jsp文件格式),如图1.1所示。样本webshell的大致功能是通过加载字节码来执行恶意代码,整个webshell的核心部分逻辑是在字节码中。样本文件下载链接:https://github.com/webraybtl/webshell1图1.1变异webshell样本直接通过冰蝎、哥斯拉、天......
  • linux shell 函数,实现自动补全
    实例1:function_bigtool(){COMPREPLY=()localcur=${COMP_WORDS[COMP_CWORD]};localcom=${COMP_WORDS[COMP_CWORD-1]};case$comin'vs')COMPREPLY=($(compgen-W'checkoutdisplayremoveadd'--$cur))......
  • shell脚本常用命令
    #!/bin/bashecho$1adbdevices>devices.txtecho"开始读取设备"line_num=0whileread-rlinedoif[$line_num!=0]&&[-n"$line"];thendevices_info=`echo$line|cut-d""-f1`echo$d......
  • shell中特殊语法
    #脚本只要发生错误,就终止执行set-e#解决管道的情况,只要一个子命令失败,整个管道命令就失败,脚本会终止执行set-eopipefail#每行行首增加特殊字符sed-i"s#^#\\\'&#g"test.txt#每行行尾增加特殊字符sed-i"s#$#\\\'#g"test.txt#文本中多行合并到一行并以,间隔paste-s......