Clion

C++开发 Clion平台

1. 使用clion新建c++项目

在这里插入图片描述

​ 在使用Clion中创建新的Cmake项目时,会在项目根目录下自动生成CMakeLists.txt文件以及一个cmake-build-debug目录

  • CMake简介

    cmake是一个跨平台、开源的构建系统。是一个集软件构建、测试、打包于一身的软件。在主项目和子项目中都要有CMakeLists.txt文件

    1. 指定cmake的最小版本

      cmake_minimum_required(VERSION 3.15)

    2. 设置项目名称

      project(MyProject)

      还可以添加版本号project(MyProject VERSION 0.0.1)

    3. 指定c++版本

      set(CMAKE_CXX_STANDARD 14)

      set(key value)接收两个参数用来申明变量

    4. 生成可执行程序,add_executable()

      add_executable(MyProject main.cpp)

    5. 将子项目导入

      add_SUBDIRECTORY(-/.cpp)

      "-"是创建的的子项目的名称, "/"是子项目下源文件名称, "-“和”/"之间有空格

2. 无法共存多个main函数 无法编译

问题描述: 在使用C++开发时,会遇到同一个Project中有多个cpp文件,而每个cpp文件又都有main函数,因此运行时会出现multiple definition of 'main’这样的错误

解决办法:

因为一个编译链接生成的exe文件只能有一个main函数,为了能使多个带main函数的cpp文件能在同一个Project中运行,需要对CMakeList.txt中做修改。在add_executable()中给cpp文件去一个别名,这个别名便会成为生成的exe文件的名字。

修改前修改后

两个cpp都可以运行,会得到多个exe文件

3. clion中c++使用当前目录读取文件失败

// test.txt放在cpp文件的统计目录下,但是读取不到该文件的情况
ofstream ofs;
ofs.open("test.txt", ios::in);

原因: 在Clion中,cpp源文件经编译后生成可执行文件,放在cmake-build-debug目录下,也就是最终的执行目录,所以文件的相对路径应该是../

ofs.open("../test.txt", ios::in);

件的相对路径应该是../

ofs.open("../test.txt", ios::in);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值