CLion搭配Cygwin使用CMake配置后找不到execution头文件求助
解决方案
- 依赖缺失
GCC的<execution>头属于C++17引入的并行STL组件,实现依赖Intel TBB库,Cygwin默认不会随GCC安装该依赖。你需要重新运行Cygwin安装程序,搜索并安装libtbb-devel开发包。 - CMake配置错误
你当前的CMakeLists.txt存在两处问题:- 直接覆盖
CMAKE_CXX_FLAGS会丢失CMake默认生成的系统头文件搜索路径等配置,需改为追加模式 - 没有添加TBB的查找、链接规则
修改后的CMakeLists.txt参考如下:
- 直接覆盖
cmake_minimum_required(VERSION 3.20) project(testing) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif () # 改为追加编译选项,避免覆盖默认配置 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") # 查找TBB依赖 find_package(TBB REQUIRED) add_executable(testing main.cpp) # 链接TBB库到目标程序 target_link_libraries(testing TBB::tbb)
- 工具链配置不匹配
打开CLion设置页的构建、执行、部署 > 工具链,确认你正在使用的Cygwin工具链中,C编译器路径对应你安装了G11的Cygwin环境下的g++.exe,避免CLion调用其他环境的编译器导致头文件搜索路径错位。
内容的提问来源于stack exchange,提问作者Ozballer31
相关产品推荐
相关产品推荐

