【问题标题】:How to create a C project with CLion如何使用 CLion 创建 C 项目
【发布时间】:2014-11-28 10:04:57
【问题描述】:

自从 CLion 一个月前发布以来,关于它的文档并不多。所以我对如何使用 CLion 创建一个 c 项目感到困惑,当我想创建一个新项目时,我只是询问项目的名称并创建一个默认的 main.cpp 和 CMakeLists.txt 文件,该文件引用 main.cpp 文件。好吧,我可以将文件 main.cpp 重命名为 -> main.c 并手动编辑 CMakeLists.txt,但 .txt 文件中也有一些内容,所以我需要一些帮助。

默认 CMakeLists.txt 文件;

cmake_minimum_required(VERSION 2.8.4)
project(example)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(dbsg ${SOURCE_FILES})

注意:这个问题可能有一个更简单的解决方案,比如创建一个 C 项目而不是 C++ 项目,但我看不到,所以我必须让阅读此问题的人可能有一个更简单的解决方案,然后手动编辑,谢谢。

【问题讨论】:

    标签: c++ c cmake clion


    【解决方案1】:

    从您提供的 CMake 文件中,您可以简单地删除 CMAKE_CXX_FLAGS 行,或者将其替换为这样的 C 行:

    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror")
    

    除了如你所说的将 main.cpp 重命名为 main.c 之外,其余的应该没问题。

    【讨论】:

    • 这个方法很有效,感谢您提供正确的替换。这是像我这样的业余爱好者的完整 CMakeLists.txt。 cmake_minimum_required(VERSION 2.8.4) project(example) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror") set(SOURCE_FILES main.c) add_executable(dbsg ${SOURCE_FILES})
    • @fx773d:不客气。你知道,我搞砸了,把“CXX”留在了我打算把“C”放在那里的地方。您应该更改您的,以便为 C 启用编译器警告...它可以在没有的情况下工作,但这将帮助您在构建期间捕获错误。
    • 感谢@JohnZwinck,这也帮助了我。但是我可以问一下你是怎么想到这个解决方案的吗? JetBrains 有这方面的文档吗?如果是这样,它隐藏得很好,因为我找不到它。谢谢!
    • @TimothyOnggowasito:我从未使用过 JetBrains CLion,但我使用过 CMake,所以我知道在更基础的层面上需要做什么。永远不要相信 IDE 可以完全抽象出你的构建系统......
    • 谢谢@John!我一直在为我的 C++ 应用程序使用 CLion,为 C 应用程序使用 eclipse。这将提供一百万倍的帮助! (对 CMake 来说还是新手,所以我永远不会想到这一点)。我希望我能给你更多的选票!
    【解决方案2】:

    从版本 2016.3.2 开始,您可以在创建新项目时选择语言(C 或 C++)和项目类型(可执行文件或库)。

    (尽管这在我记得的时候就在 CodeBlocks 中))而且我仍然不知道我是否可以创建自己的“项目”。好吧,恕我直言,如果与 CodeBlocks 相比,我可以为几乎所有内容编写脚本并以这种方式自定义 IDE,那么恕我直言 CLion 显然很糟糕((()


    https://blog.jetbrains.com/clion/2016/12/clion-2016-3-2-eap/#prj_templates

    PS:关于如何在https://youtrack.jetbrains.com/issues/CPP留下错误报告的屏幕截图

    【讨论】:

    • 您对此有更多信息吗?我选择了 C Executable,它仍然创建了一个 C++ 软件。没有意义
    • @Maude ,你怎么知道它是 C++,而不是 C?我已经更新了我的答案,请看屏幕截图。如果你说的比你说的更真实leave a bug report(也可以在我的答案中查看点击位置的屏幕)
    猜你喜欢
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 2021-02-09
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 2021-06-25
    相关资源
    最近更新 更多