C++开发 Clion平台
1. 使用clion新建c++项目

在使用Clion中创建新的Cmake项目时,会在项目根目录下自动生成CMakeLists.txt文件以及一个cmake-build-debug目录
-
CMake简介
cmake是一个跨平台、开源的构建系统。是一个集软件构建、测试、打包于一身的软件。在主项目和子项目中都要有CMakeLists.txt文件。
-
指定cmake的最小版本
cmake_minimum_required(VERSION 3.15) -
设置项目名称
project(MyProject)还可以添加版本号
project(MyProject VERSION 0.0.1) -
指定c++版本
set(CMAKE_CXX_STANDARD 14)set(key value)接收两个参数用来申明变量 -
生成可执行程序,add_executable()
add_executable(MyProject main.cpp) -
将子项目导入
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);
本文围绕Clion平台的C++开发展开。介绍了使用Clion新建Cmake项目时自动生成的文件和目录,以及cmake的相关知识。还针对同一项目多个cpp文件含main函数无法编译、Clion中C++使用当前目录读取文件失败这两个常见问题,给出了相应的解决办法。


1937

被折叠的 条评论
为什么被折叠?



