如何将现有的源代码和头文件添加到CLion项目中

19

我试图将现有的源文件添加到我的Clion项目中,但是在将它们复制和粘贴到项目中后,这些文件并没有被添加到CMakeLists文件中。此外,该文件夹是半透明的(灰色)。

我该如何自动将新文件添加到CMakeList中?


这与 C 和 C++ 有什么关系? - fuz
尽量将C语言与C++语言分开。尽管它们相似,但它们是不同的语言,各自有着不同的优缺点。 - pmg
可能是 https://dev59.com/OlwX5IYBdhLWcg3wlwaQ 的重复问题。 - usr1234567
2个回答

10

假设我们有一个只包含main.cpp的项目,现在我们想添加foo.cpp:

原始的CMakeList.txt如下:

cmake_minimum_required(VERSION 3.6)
project(ClionProject)

set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)

add_executable(ClionProject ${SOURCE_FILES})

现在我们需要添加foo.cpp文件

cmake_minimum_required(VERSION 3.6)
project(ClionProject)

set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp foo.cpp)

add_executable(ClionProject ${SOURCE_FILES})

所以我们更改了该行set(SOURCE_FILES main.cpp foo.cpp),以添加.cpp文件。我们还可以在其中添加.h文件。

注意!所有文件都应在CMakeList.txt文件夹中!如果不是,请记得在其中添加路径。

还有一种方法可以让CLion添加任何cpp和h文件(我不知道为什么它们不默认这样做),就是添加这行:

file(GLOB SOURCES
    *.h
    *.cpp
)

同时,还需添加以下代码:
add_executable(ClionProject ${SOURCE_FILES} ${SOURCES})

在这个例子中,ClionProject 实际上是项目的名称。SOURCES_FILES 和 SOURCES 可以更改为任何您想要的名称。

另一个好主意是转到 文件->设置->构建、执行、部署->CMake,并勾选“编辑时自动重新加载 CMake 项目”。

这是一个不错的入门教程:https://www.jetbrains.com/help/clion/2016.3/quick-cmake-tutorial.html


14
我们是如何从 Visual Studio、Delphi 和 CodeWarrior 这些 IDE 走到现在这个可悲的 IDE 的呢?手动配置等同于回到软件开发的黑暗时代。 - ATL_DEV
5
不完全是。将配置保存在文件中(例如cmake)可以使您的构建跨平台可重复使用,而不是锁定在IDE的专有配置格式中。这与代码即基础设施的理念相同。 - Christopher Poile
1
@ATL_DEV 我也是这么想的! 一步向前,两步向后... 都是为了跨平台。 - Richard Lalancette
1
@ALT_DEV 我长期使用Visual Studio。我有一些代码,例如在Linux上不知道如何编译。CLion帮了我很多忙。我所解释的Cmake用于将我的代码(在VS中编写)编译成Linunx。我在Linux上使用CLion,并且因为我喜欢它比VS更多,所以现在完全转换了。 - J Agustin Barrachina

0

我知道这个问题是7年前发布的,但我刚遇到了类似的问题。我按照教程和这里给出的答案进行操作,但是我得到了奇怪的错误。 我通过手动编辑CMakeLists.txt文件成功解决了这个问题。

cmake_minimum_required(VERSION 3.23)
project(uni)

set(CMAKE_CXX_STANDARD 14)

add_executable(uni cmake-build-debug/theQuote.cpp)
#add_executable(uni main.cpp)

这个解决方案很愚蠢,因为每次我想运行一个新程序时,我都必须在文件中进行编辑,并注释掉我不想运行的程序。但对我来说它有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接