CMake生成失败报错:无法确定目标Lab2的链接器语言
解决CMake无法确定链接器语言的问题
这个错误CMake Error: CMake can not determine linker language for target: Lab2,本质是CMake找不到目标Lab2对应的有效C++源文件,没法判断该使用哪种链接器。结合你的项目结构来看,最核心的问题是源文件路径配置错误。
问题分析
你的项目根目录是Lab2,其中source.cpp存放在source/子目录下,但你当前的CMakeLists.txt里写的是:
add_executable(Lab2 source.cpp)
CMake会在当前CMakeLists.txt所在的目录(也就是Lab2根目录)查找source.cpp,显然找不到这个文件——相当于目标Lab2没有关联任何有效的C++源码,自然无法确定链接器语言。
修复方案
修正CMakeLists.txt中的源文件路径,指向source子目录下的source.cpp:
cmake_minimum_required(VERSION 3.9) # set the project name project(Lab2) # 修正源文件路径,指定source子目录下的source.cpp add_executable(Lab2 source/source.cpp)
额外排查点
如果修正路径后还是报错,可以检查这几个地方:
- 确认
source.cpp不是空文件,且确实是有效的C++代码(你提到文件里用到了图片,应该没问题,但还是要确认) - 别把
source目录下的Lab2.cpp.txt当成真正的源文件,确保你的代码都在source.cpp里 - 运行CMake-GUI时,确认源码目录选的是
Lab2根目录,构建目录选的是build子目录,路径别搞混
内容的提问来源于stack exchange,提问作者Albeh95
相关产品推荐
相关产品推荐

