# Clion中编译多个cpp(实现单文件编译)

Clion中编译多个cpp(实现单文件编译)

在不做任何配置情况下,Clion工程下只能有一个main()函数,新建多个cpp会导致报main()函数重复定义的错误,所以默认情况下无法在一个工程下编译多个cpp文件。

要想实现单文件编译,或者说编译过多个cpp文件,有两种解决方法:

  1. 手动配置CMakeLists.txt
  2. 安装插件(推荐)

手动配置CMakeLists.txt

像这样,为每个cpp文件制定唯一的编译器,编译运行的时候,选择相应的编译器即可。

更简单的方法是,第一次运行的时候使用快捷键Ctrl+Shift+F10,会自动帮你选择对应的编译器,之后就可以使用Shift+F10直接编译运行了,这个和在Pycharm中是一样的。

安装插件(推荐)

在Clion中可以像在vsc中一样直接安装插件,只不过Clion中插件商城隐藏在了setting中。

为了解决单文件编译问题,有人专门为Clion写了一款插件,实现单文件编译,名为C/C++ Single File Execution plugin,安装方法:settings-Plugins。

该插件只是把手动配置CMakeLists.txt写成了插件形式,自动配置快捷键Ctrl+Shift+Alt+E,或者在编译区右键选择Add execution for single c/c++ file。

编译运行方式同上。

原文地址:https://www.cnblogs.com/sstealer/p/11555223.html

时间: 2024-08-29 22:04:23

# Clion中编译多个cpp(实现单文件编译)的相关文章

jmake 编译当前目录所有c/c++单文件

在一个目录下写一些单文件的c或者c++文件时,每次敲出命令如g++ a.cpp -o a感觉比较麻烦. 所以就模仿makefile的功能,实现了扫描当前目录,并将所有c文件.cc文件.cpp文件直接调用gcc/g++编译. 本程序的缺点之一就是不能用于文件间有相互include的情况,因为要扫描代码include了其他什么文件比较麻烦.而且不能在编译命令中加入其他库的选项. 使用方式: 1 jmake 源代码: 1 /* 2 * author: huanglianjing 3 * 4 * thi

【Java编译】含package的类文件编译

含package的类文件编译: package com.zhangxueliang.setdemo; public class Demo1 { public static void main(String[] args) { System.out.println("123456"); } } package com.zhangxueliang.setdemo; import java.util.HashSet; /* * 使用HashSet存储自定义对象并遍历 * 通过查看源码发现:

Ubuntu&红帽的vim通用配置(文件头+一键编译执行C/C++/Java单文件)

vim是一款功能很强大的编辑器,可能网上的大神们配置的比较复杂.功能也很多.我这里的配置能够满足基本需求.快速且通用,只要大家将自己的vimrc文件打开按照我的截图添加几行代码即可解决. 大家直接看我的配置文件吧 先讲一下ubuntu与redhat下打开配置文件vimrc的方法 *在redhat下 首先切换到root.然后输入 vim /etc/vimrc 在ubuntu下 直接输入 sudo vim /etc/vim/vimrc 打开配置文件vimrc之后按照下面图示中添加代码即可 这里的配置

grep-2.26 sed-4.2.2 awk-4.1.4 最新版本静态编译 [不依赖 DLL 的单文件]

-------------------------------------------------------------------------------------------- grep (GNU grep) 2.26 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This i

# codeblocks中运行多个.cpp文件

codeblocks中运行多个.cpp文件 默认情况下codeblocks无法添加源文件,只能通过add files添加文件 add files之后变成这样,但是还是无法同时编译两个.cpp,会报main函数重复定义的错误,只要把其中一个.cpp注释之后就能正常运行了,这样就可以正常编写对拍程序了,虽然比较麻烦,但是也没有办法.只能怪codeblocks不支持单文件编译,dev和vsc都支持单文件编译,Clion配置一下插件,也支持单文件编译. 有不对的地方,还希望各位大佬指出,我本身是使用vs

jmake 编译当前目录c/c++单文件 指定文件 可加选项

基础版本的jmake是将所有当前文件夹下的C/C++文件生成单文件编译命令,并且jmake命令不可加选项. 现在做的改进是能在输入命令jmake时加上一些选项了,‘-’开头的选项加入到每个编译单文件的生成命令中去,其他的选项则是指定要编译的源文件.当然,如果没有指定源文件,就把所有.c,.cc,.cpp文件都分别编译. 代码如下: /* * author: huanglianjing * * this is a program to compile all single c/c++ file o

OC方法和文件编译

一.OC方法 (一)对象方法 (1)对象方法以-开头如 -(void)xx; (2)对象方法只能又对象来调用 (3)对象方法中可以访问当前对象的成员变量 (4)调用格式   [对象名  对象方法名]: (5)设计一个学生类和狗类,练习对象方法的使用. 学生类的声明: 学生类的实现: 狗类的声明: 狗类的实现: 主程序: (二)类方法 (1)类方法以+开头  如+(void)put; (2)类方法只能由类来调用 (3)类方法中不能访问实例(成员)变量,因为类方法又类来调用,并没有创建存储空间来存储

Objective-C语言-方法和文件编译

OC方法和文件编译 一.OC方法 (一)对象方法 (1)对象方法以-开头如 -(void)xx; (2)对象方法只能又对象来调用 (3)对象方法中可以访问当前对象的成员变量 (4)调用格式   [对象名  对象方法名]: (5)设计一个学生类和狗类,练习对象方法的使用. 学生类的声明: 学生类的实现: 狗类的声明: 狗类的实现: 主程序: (二)类方法 (1)类方法以+开头  如+(void)put; (2)类方法只能由类来调用 (3)类方法中不能访问实例(成员)变量,因为类方法又类来调用,并没

VS Code 单文件、多文件(工程) 配置文件

针对于单文件编译运行,需要在代码文件夹下建立子文件夹 .vscode ,并放置三个文件 1:c_cpp_properties.json,注意更改7.8.11行的路径 1 { 2 "configurations": [ 3 { 4 "name": "Win32", 5 "includePath": [ 6 "${workspaceFolder}", 7 "C:\\MinGw\\x86_64-w64-