首页 > 其他分享 >常用编译命令

常用编译命令

时间:2023-06-06 23:46:49浏览次数:47  
标签:文件 常用 cmake 命令 ++ 编译 点击 cpp

1.通过g++命令编译多文件并生成程序
g++ -g main.cpp second.cpp -o main.exe
该方法有个明显的缺点,就是在-g后面需要列出所有需要编译的cpp文件,如果文件比较多,用起来就比较麻烦,而且每次编译都需要完整的命令。

2.通过配置vscode使用g++编译

  • 首先给vscode安装c/c++ | c/c++ extension pack
  • 同时,安装好gcc | g++编译器,这里windows环境下推荐用msys64
  • 安装好之后,打开msys264,执行命令pacman -S --needed base-devel mingw-w64-x86_64-toolchain(pacman命令只有在msys64中可以使用)。
  • 上步结束后,将mingw64添加到用户PATH环境变量中。
  • 使用gcc --versiong++ --versiongdb --version命令测试是否配置好环境变量。
  • 点击F5按键,选择gdb,接着选择g++,如果上面的步骤都执行过,则应该不会出现问题。
  • 上一步仅对单文件有效,如果有多个cpp文件,则会出现问题。
  • 执行过上面的操作之后,会在当前文件夹地下生成.vscode文件夹,打开tasks.json文件,在tasks.args里面的-g命令后添加需要用到的cpp文件,注意路径,当前工作空间绝对地址可以用${workspaceFolder}
    3.通过vscode调试程序
  • 点击左侧边栏的调试或运行图标
  • 点击创建launch.json文件,然后打开文件,在右下角点击添加配置,选择gdb
  • 修改configurations.program里面的参数为要调试的.exe文件,删除configurations.setupCommands里面的参数
  • 然后点击调试,即可进入调试页面

4.使用CMake进行编译
cmake仅需要简单的几条命令就能对复杂项目完成编译,使用起来比g++命令方便的多。

  • 下载cmake for windows
  • 为vscode下载cmake插件,包括cmake | cmake tools
  • 点击文件->另存工作区,将工作区保存到当前目录
  • 在项目根目录下执行mkdir build命令
  • 点击保存的工作区文件.code-workspace,在settings下添加"cmake.generator": "MinGW Makefiles"
  • 在当前项目根目录下创建CMakeLists.txt文件,文件内容大致如下。
cmake_minimum_required(VERSION 3.2)
project(projectName VERSION 0.0.1)
add_executable(projectName main.cpp second.cpp)
  • 进入build文件夹内执行cmake .. -G "MinGW Makefiles"(首次编译),后续用cmake编译,仅需输入cmake ..即可。

标签:文件,常用,cmake,命令,++,编译,点击,cpp
From: https://www.cnblogs.com/zolmk/p/17462075.html

相关文章

  • (转)linux ethtool 命令详解
    原文:https://blog.csdn.net/weixin_43214644/article/details/1264712291概述ethtool是用于查询及设置网卡参数的命令。2命令详解2.1命令格式(1)语法ethtool[-a|-c|-g|-i|-d|-k|-r|-S|]ethXethtool[-A]ethX[autonegon|off][rxon|off][txon|of......
  • 程序的编译与链接(C语言为例) #代码写好后到运行期间要经过怎样的过程呢?# 粗略版 #
    (编译与链接)前言每当我们运行一段代码时,编译器都会自动的帮我们编译代码并将代码转换为一个二进制可执行文件(.exe),有了这个可执行文件,便可以执行我们写的程序了。那么编译器对代码的编译以及生成可执行程序的过程是怎样的呢?这个问题便是本文章将要探讨的。程序的环境在A......
  • 常用的 SQL Server 关键字及其含义
    SQLServer是一种关系型数据库管理系统(RDBMS),提供了用于管理和操作数据库的各种关键字。以下是一些常用的SQLServer关键字及其含义:SELECT:用于从数据库中检索数据。INSERT:用于将新记录插入到数据库表中。UPDATE:用于更新数据库表中的记录。DELETE:用于从数据......
  • linux常用操作命令
    cd浏览文件和目录cd/home/username/Movies。ls查看文件夹内容ls文件夹、ls-al。cat输出文件内容catfile1file2>file3。cp复制cpscreen.jpg/home/username/Pictures。mv移动文件mvfile.txt/home/username/Documents。mkdir创建新目录mkdirNEW、mkdir......
  • docker desktop记录___docker命令操作
    继续接上一篇的<dockerdesktop安装部署及使用>,接着介绍docker。上一篇主要介绍的是安装部署,以及dockerdesktop的使用(客户端上操作使用)。本篇主要介绍的是基于docker命令的操作和使用。还是以mysql为例,从使用docker命令进行mysql镜像的下载、容器创建、容器查询、进入......
  • 常用的排序算法性能分析(2)—— 归并排序、快速排序
    归并排序要将一个数组排序,可以先(递归地)将它分成两半分别排序,然后将结果归并起来。自顶向下的归并排序归并排序应用了分治的思想,如果它能将两个子数组排序,它就能够通过归并两个子数组来将整个数组排序。命题F:对于长度为N的任意数组,自顶向下的归并排序需要(1/2)*NlgN到NlgN次......
  • Linux 常用命令总结
    1.基本命令uname-m 显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读取操作系统信息arch显示机器的处理器架构uname-m 显示机......
  • sed命令在指定行前(后)插入内容
    1、测试数据如下:[root@centos79test]#lsa.txt[root@centos79test]#cata.txt345dg3sg8ksg25dscwarte4s 2、在第2行后插入xxxx[root@centos79test]#cata.txt345dg3sg8ksg25dscwarte4s[root@centos79test]#......
  • 分享一下我常用的游戏图标素材
    游戏图标设计在游戏UI中占有非常重要的地位。例如,当我们看到一个游戏的启动图标时,很容易区分它是哪个游戏。设计游戏图标不仅是一个图形,也是一个标志。本文将通过各种游戏图标设计素材分享游戏图标的类别和设计游戏图标的思考。1.游戏图标分类游戏图标设计类型主要如下......
  • hdfs常用的端口配置
    常用的端口配置1、HDFS端口 参数描述默认配置文件例子值fs.default.namenamenodenamenodeRPC交互端口8020core-site.xmlhdfs://master:8020/dfs.http.address NameNodeweb管理端口50070hdfs-site.xml0.0.0.0:50070dfs.datanode.addressdatanode控制端口50010 hdfs-site.......