如何在 CLion 中严格定位 C++98

How to strictly target C++98 in CLion

出于某种原因,我无法将 CLion 配置为仅对我的项目使用 C++98

  1. 我一直在为 c++11 而不是 c++98 做 clang-tidy我如何将它设置为 C++98)
  2. 当我对高于 C++98 的 C++ 版本使用语法时,我没有收到任何红线或编译器错误如何启用严格执行C++98)
  3. 当我将 IDE 设置为 C++98 时,我不希望 IDE 让我使用任何大于 C++98 的标准我该怎么做?

有谁知道如何在 CLion 中执行此标准?我的猜测是将 cmake 文件配置为 C++98。不确定我是否做对了...

我的CMakeLists.txt如下图

cmake_minimum_required(VERSION 3.10)
project(myProject)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c98")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98")
set(CMAKE_CXX_STANDARD 98)

add_executable(myProject main.cpp Myclass.cpp Myclass.h)
add_definitions(-std=c++98)

p.s 由于硬件限制,我无法选择使用 C++98 及更低版本以外的任何其他版本。

我遇到过类似的问题,为目标设置标准很有效,就像

set_property(TARGET myProject PROPERTY CXX_STANDARD 98)

为你