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对吗?
发布于 2016-10-10 14:15:27
set(CMAKE_COMPILER_IS_GNUCC TRUE)只应读取CMAKE_COMPILER_IS_GNUCC以测试与当前生成器对应的编译器,如下所示:
if(CMAKE_COMPILER_IS_GNUCC)
# do something special for GNU C compiler
endif()只要把它移开。如果需要指定编译器(但不应该需要),您可能希望阅读这。
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")这一行绝对没有什么作用:您用自己的内容设置了CMAKE_C_FLAGS。只要把它移开。
我的CMakeLists.txt对吗?
当建筑时,CLion会告诉你它不是吗?
https://stackoverflow.com/questions/39960169
复制相似问题