gpt4 book ai didi

CMake:C11 的 CMakeLists

转载 作者:行者123 更新时间:2023-12-01 01:56:52 25 4
gpt4 key购买 nike

cmake_minimum_required(VERSION 3.6)
project(Example)

set(CMAKE_C_STANDARD 11)
set(CMAKE_COMPILER_IS_GNUCC TRUE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")

set(SOURCE_FILES main.c)
add_executable(Example ${SOURCE_FILES})

我正在学习 C11,我正在使用 CLion IDE。
在这个 IDE 中,唯一可能的选择是将 CMake 用于项目,我阅读了一些 CMake 手册(也在堆栈溢出中),但我没有找到为 C11 项目编写正确 CMakeLists 的现成解决方案。
set(CMAKE_C_STANDARD 11)

这条线设定了 C11 标准。
set(CMAKE_COMPILER_IS_GNUCC TRUE)

这一行将 gcc 设置为编译器。
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")

此行将编译标志设置为 IDE 的默认值。

我的 CMakeLists.txt 正确吗?

最佳答案

set(CMAKE_COMPILER_IS_GNUCC TRUE)
CMAKE_COMPILER_IS_GNUCC应该只读取来测试什么编译器对应于您当前的生成器,例如:
if(CMAKE_COMPILER_IS_GNUCC)
# do something special for GNU C compiler
endif()

只需将其删除。您可能想阅读 this , 如果您需要指定您的编译器(但您不应该需要)。
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")

这一行绝对没有任何作用:您设置了 CMAKE_C_FLAGS有自己的内容。只需将其删除。

Is my CMakeLists.txt correct?



构建时,CLion 会告诉您不是吗?

关于CMake:C11 的 CMakeLists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39960169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com