You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CLion(OSX 2025.1)无法切换C++版本的问题求助

解决CLion中C版本仍为C98的问题

以下是针对你在OSX CLion 2025.1中遇到的问题的具体解决步骤:

1. 修正CMakeLists.txt的指令顺序与内容

当前project指令的位置会干扰C++标准配置的生效,同时手动添加CMAKE_CXX_FLAGS容易和CMAKE_CXX_STANDARD产生冲突。修改后的CMakeLists.txt如下:

cmake_minimum_required(VERSION 3.31)
project(hello_world)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(hello_world main.cpp)

2. 检查CLion工具链配置

  • 打开CLion偏好设置(快捷键Cmd+,),导航到Build, Execution, Deployment > Toolchains
  • 确认当前选中的工具链为Apple Clang,且C++ Compiler路径指向你的clang-1600.0.26.6(终端执行which clang++可获取准确路径,通常为/usr/bin/clang++)
  • 若存在其他工具链(如GCC),确保未被误设为默认工具链

3. 清理并重新生成CMake缓存

  • 点击CLion顶部菜单栏File > Reload CMake Project(或使用快捷键Cmd+Shift+I)
  • 若仍无效,手动删除项目根目录下的cmake-build-*文件夹,重启CLion后让其重新生成缓存

4. 强制指定__cplusplus宏的值

部分编译器在启用高版本C标准时,__cplusplus仍会默认显示为C98的版本号,需手动强制定义。在CMakeLists.txt中添加以下代码:

add_compile_definitions(__cplusplus=202002L)

重新编译后再检查__cplusplus的值。

5. 确认CMake配置参数未被覆盖

  • 进入Build, Execution, Deployment > CMake
  • 检查CMake options中的-DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON是否存在,且未被其他参数覆盖
  • 确认Build type(Debug/Release)对应的配置均保持一致

内容的提问来源于stack exchange,提问作者user2565010

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 01:12:42