如何在CLion中创建,编译和运行单个文件
How to Create, Compile, And Run a single file in CLion
我正在做一些c++的东西,我讨厌为了在一个文件上运行一些东西而创建一个全新的项目。
我也不喜欢当你创建一个项目时,文件已经被称为main.cpp
。
我只想制作一个包含几个函数或类的文件。它并不重要到足以创建一个完整的项目。
我想创建一个文件,并命名为我想要的。只要创建一个文件,然后编译并运行。
我不想处理整个CMake
的事情,只编译一个文件。
与项目无关。谢谢你。
我知道你可以在visual studio上做到这一点,但我正在使用Clion
在mac OS X上工作
您可以修改CMakeLists.txt
下面是一个例子:
cmake_minimum_required(VERSION 3.3)
project(test_build)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(BUILD_1 main)
set(SOURCE_FILES_1 main.cc) //where main.cc is your first main/program
add_executable(${BUILD_1} ${SOURCE_FILES_1})
set(BUILD_2 main_2)
set(SOURCE_FILES_2 main_2.cc) //where main_2.cc is your second main/program
add_executable(${BUILD_2} ${SOURCE_FILES_2})
或者使用test(垃圾版本):add_executable(foo bar.cc)
之后,您可以在CLion中选择您想要的构建
我刚刚有同样的问题,偶然发现了这个线程,然后在这个插件中找到了我的解决方案。这个插件所做的基本上是用户Waxo自动建议的:在CMakeLists.txt中为每个可执行文件添加一行。你只需要在编辑器中右键单击并选择它。我发现它非常有用,主要用于算法竞赛。希望对您有所帮助:https://plugins.jetbrains.com/plugin/8352-c-c--single-file-execution
干杯!
在每个CLion项目中都有一个CMakeLists.txt文件。
要运行单个文件,您必须在该文件中写入单个命令,即:
add_executable(file_name_without_extension_cpp file_name_with_extension_cpp)
例如:add_executable(CoinChange CoinChange.cpp)
然后点击重新加载更改,然后转到运行选项,然后选择你想要运行的文件,然后点击运行按钮。您的单个文件将被运行。
在您的CLion项目中将有多少单个文件,您将不得不为运行每个单个文件执行相同的操作。
- 在CLion内部安装插件"C/c++单文件执行"
- 找到你想要执行的文件,右键单击然后选择最后一个选项,即添加单个可执行的单个c/cpp文件
- 进入运行选项或按Alt + shift + f10并选择要运行的文件
对于跨IDE的可移植解决方案,我在main()
的开头调用scratch()
函数,并将exit(0);
放在scratch函数的末尾。
在scratch()
内部,如果您愿意,可以调用其他文件中的内容。我通常只测试代码片段
CLion是基于CMake的。所以,如果你不想使用CMake,你可以使用其他编辑器,如Sublime Text。
但是一个简单的CMake脚本可以解决这个问题。
下面的CMake脚本自动将当前目录及其子目录中的cpp
文件添加到可执行文件中(filename作为目标名称)。
cmake_minimum_required(VERSION 3.15)
project(MyApp)
set(CMAKE_CXX_STANDARD 17)
file(GLOB APP_SOURCES *.cpp */*.cpp)
foreach (testsourcefile ${APP_SOURCES})
get_filename_component(testname ${testsourcefile} NAME_WE)
message("${testname}")
add_executable(${testname} ${testsourcefile})
endforeach (testsourcefile ${APP_SOURCES})
- 如何在linux终端中同时编译和运行c++代码
- 为什么即使使用-cudart-static进行编译,库用户仍然需要链接到cuda运行时
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- 尝试用java代码编译和运行c++代码
- 热键/按钮,根据需要进行编译,但不运行(在F5和Ctrl+Shift+B之间)
- 编译并运行后,输出未出现在 Visual Studio 代码中
- 在运行时解析函数,而不是在编译C++解析函数
- 编译多个C++文件.调用二进制文件以运行代码
- 在编译时,C++项目抛出错误 C2228,这是预期的,因为控件在运行时未达到该点
- 是否可以编译 Gtk+ 应用程序以同时在 Gtk 2 和 3 上运行
- 在编译时为运行时设置环境变量
- 如何让谷歌测试正常运行。测试总是失败。(它不会编译)
- 运行时检查失败 #0 用于运行时重新编译
- 如何从测试脚本中运行WAF编译C++程序?
- std::tuple 可以根据其值在编译时/运行时排序吗?
- 在iPhone上编译/运行C++代码
- 在编译/运行时将字符串文本的原始字节流入/流出Windows(非宽)执行字符集,以及ANSI代码页与UTF-8
- Visual Studio、CodeBlocks和Eclipse中的C++编译/运行问题
- c++相同的代码永远不会在Visual Studio中编译/运行,有时在Qt Creator中编译/运行
- 是否可以基于宏或变量有条件地编译/运行代码