是否可以将CLion配置为独立编译项目中的源文件?

nid*_*ion 27 c ide compilation clion

我目前正在使用JetBrains CLion IDE在C中执行一些Project Euler挑战.当我用Python和Java(分别在PyCharm和IntelliJ中)完成这些时,我总是能够创建一个名为"ProjectEuler"的项目,并添加我可以独立执行的任意数量的源文件.但是,在CLion中似乎无法做到这一点.我用来解决问题的每个源文件都包含一个main()函数,每次我尝试编译时,CMake都对此感到不满("main"的多重定义").

有没有办法将CLion配置为一次只编译和执行项目中的单个源文件,而不必每次都重写我的CMakeLists.txt或为每个问题创建一个新项目?

我知道C是编译的,而不是像Java或Python那样解释,但我可以想象只是手动编译每个源文件.有没有办法配置CLion做同样的事情?如果是这样,怎么样?

ipa*_*ipa 33

您可以在CMakeLists.txt中为每个问题定义多个可执行文件.

代替

add_executable(projecteuler ${SOURCE_FILES})
Run Code Online (Sandbox Code Playgroud)

你可以定义

add_executable(problem1 problem1.c)
add_executable(problem2 problem2.c)
Run Code Online (Sandbox Code Playgroud)

然后你得到每个可执行文件(problem1,problem2等)一个运行配置,你可以独立运行.在这种情况下,您不必每次都重写,而只需将新的源文件添加到新的可执行文件中.

  • @ InvisibleUn1corn我同意,如果我们可以更容易地添加`add_executable`,那就太好了.为此,我为CLion"[C/C++单文件执行插件](http://corochann.com/projects/single-file-execution-plugin)"制作了一个插件. (4认同)
  • 有没有办法让 CLion 自动添加源?我知道添加它并不多,但它可能会更好 (2认同)

Sha*_*edi 5

即使我遇到了同样的问题,每次编辑 CMake 文件并添加可执行文件也是一件很累人的工作。于是我找到了解决办法,

有一个插件可以无缝地为您完成。

只需将此插件添加到您的 CLion 中,您想要制作的任何文件都是可执行的,右键单击并将其添加为可执行文件,

它会自动编辑您的 CMake 文件。

关联:

https://plugins.jetbrains.com/plugin/8352-cc--single-file-execution