CMake无法识别源文件、找不到头文件——CLion(Mac)使用求助
解决CLion+CMake构建时“无法找到源文件”的问题
嘿,这问题我熟!你遇到的“无法找到源文件”错误,根源出在源文件路径的写法上,咱们一步步来解决:
问题原因
你在CMakeLists.txt里写的set(SOURCE_FILES /src/main.cpp),开头的斜杠/表示这是系统绝对路径,CMake会去你的Mac系统根目录(而不是项目根目录/ref)找src/main.cpp,那肯定找不到呀!
解决方案
有两种简单的修改方式,任选其一就行:
方式1:使用相对路径
因为你的CMakeLists.txt放在项目根目录/ref下,直接写相对路径src/main.cpp(去掉开头的斜杠),CMake就会从当前脚本所在的目录(也就是/ref)去查找这个文件:
cmake_minimum_required(VERSION 3.6) project(miniFEPosit) set(CMAKE_CXX_STANDARD 11) set(SOURCE_FILES src/main.cpp) add_executable(miniFEPosit ${SOURCE_FILES})
方式2:用CMake内置变量(更规范)
CMake会自动定义${PROJECT_SOURCE_DIR}变量,它指向你的项目根目录(也就是/ref),用这个变量拼接路径,哪怕以后调整CMake脚本位置也不容易出错:
cmake_minimum_required(VERSION 3.6) project(miniFEPosit) set(CMAKE_CXX_STANDARD 11) set(SOURCE_FILES ${PROJECT_SOURCE_DIR}/src/main.cpp) add_executable(miniFEPosit ${SOURCE_FILES})
额外说明
你在CLion里标记的Sources Root和Library Root是给IDE用来索引代码、提供智能补全的,CMake本身不会依赖这些标记,所以核心还是要把源文件的路径写对哦~
内容的提问来源于stack exchange,提问作者Robert Lewis
相关产品推荐
相关产品推荐

