【cmake】CMake error 合集(Configuring incomplete errors occurred!)

cmake常见报错 1.add_library cannot create target “XXXX“ because another target with the same name already exists. CMake Error at CMakeLists.txt add_library cannot create target “xxx” because another target with the same name already exists. The existing target is an e. 阅读详情

其实,每次碰到要安装一些软件啊,通常软件的源码都是c/c++,刚开始LZ不理解,从来都是跟着Readme.txt,一步步安装,如果说一帆风顺的把软件安装好了,也就罢了,很可能不会深究到底

cmake .
cmake ..
make all
make -j4
make install

上述列出来的到底是什么含义,直接机械式地先安装依赖库,经常用的也就是:

sudo apt-get install  #balala...一堆依赖库的名字

安装完依赖库,通常就会:

mkdir build
cd build
cmake ..
make
make install

简直是教科书般的标准流程,但是很多情况下,在camke这一块儿就会出错,LZ也是才接触这些,之前碰到很多的cmake错误东一个博客西一个博客一查,虽然问题解决了,但也没留下啥具体解决方案,或者报的错误是哪些,所以,LZ决定还是得新开一篇博客,把碰到的cmake错误汇总到一起。

哈哈,cmake的时候每次应该都最怕看见:

Configuring incomplete errors occurred!/(ㄒoㄒ)/~~**

**1.Cannot find source file. SRC_LIST. Tried extensions .c .C .c++ …add_executable called with incorrect number of arguments **

这个cmake找不到对应的的文件,LZ犯这个错误的原因是

#wrong one
add_executable(hello SRC_LIST)

#right one
add_executable(hello ${SRC_LIST})

这是为了输出一个可执行文件,第一行的代码是在找文件名为SRC_LIST的文件,但实际上,这是LZ定义的一个变量,在cmake中引用定义的变量是要加${SRC_LIST}这个符号的。

**2.make: … empty variable name. stop. **

不存在空的变量名称。停止。。。

这是因为输入的make后面的变量并没有定义好,LZ犯错的原因如下:

#wrong one
make VERBOSE = 1

#right one
make VERBOSE=1

小伙伴看出来哪里有不同的嘛?没错!等式左右LZ习惯性的打了空格,然后就光荣的报错了/(ㄒoㄒ)/~~

上面代码的意思是可以看到make构建的详细过程。

3.add_executable cannot create target “hello” because another target with the same name already exists. The existing target is an executable created in source directory

报错都是一长段,习惯就好,主要看具体报错的位置和错误类型,上面错误是LZ把两个可执行文件的文件名定义成一样的了,那是肯定得报错了,双胞胎还得有不同呢。。。

4.Parse error in command line argument -DCMAKE_INSTALL_PREFIX. Should be: VAR: type=value CMake Error: No cmake script provided. CMake Error: Problem processing arguments. Aborting

其实,这个错误是在定义安装目录的时候报错的,也就是使用-DCMAKE_INSTALL_PREFIX的时候出问题的,LZ把正确的和错误的还是都贴出来:

#wrong
cmake -DCMAKE_INSTALL_PREFIX = /tmp/t2/usr

#right
cmake -DCMAKE_INSTALL_PREFIX=/tmp/t2/usr

又是老问题,等式左右两边加了空格,这真的是写代码的习惯性问题,所以这种编译错误还是对于LZ来说会经常碰到。。。

5.CMake Warning(dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as cmake_minimum_required(VERSION 2.8) should be added at the top of the file

这其实都不能算是个error,只是一个warning,如果在有些IDE当中,如果你没有定义cmake的最低版本,它会帮你自动添加这行代码的:

cmake_minimum_required(VERSION 2.8)

cmake对于命令的大小写不敏感,但是对于变量的大小写是敏感的。还有一个问题,就是注意一下自己安装的cmake的版本,不要设置的最低版本比你安装的版本还要高,那就直接没办法编译了。

怎么查看你的cmake版本?

#在终端中输入
cmake --version

#终端显示
cmake version 2.8.12.2

6.add_library cannot create target “hello” because another target with the same name already exists. The existing target is a shared library create in source directory

这是LZ在编译动态库和静态库出现的问题,如果直接把静态库和动态库直接使用相同的命名的话,就会报上述的错误。

#wrong
add_library(hello SHARED ${LIBHELLO_SRC})
add_library(hello STATIC ${LIBHELLO_SRC})

#right(如果不要求静态库和动态库的名字相同的话)
add_library(hello SHARED ${LIBHELLO_SRC})
add_library(hello_static STATIC ${LIBHELLO_SRC})

#right(如果需要两个库名字相同的话)
add_library(hello SHARED ${LIBHELLO_SRC})
add_library(hello STATIC ${LIBHELLO_SRC})
set_target_properties(hello_static PROPERTIES OUTPUT_NAME "hello")

7.CMAKE Error at lib/cmake_install.cmake:48(FILE): file INSTALL cannot copyfile, “source path” to “target path” Call stack(most recent call first):cmake_install.cmake:37(INCLUDE)

看到这个报错LZ还是会一脸懵逼的,因为只是报一个无法拷贝文件的问题,所以还是应该会想到是权限不够的问题,虽然有文章建议说安装软件的时候尽量不要用sudo但是,有些软件不用sudo根本没法安装,这其实还是蛮矛盾的存在,所以咯:

#报错的安装方法
make install

#解决方案
sudo make install 

如果报permiss denied感觉错误应该更好找。。。

8.Cannot specify link libraries for target “curltest” which is not built by the project

其实LZ犯这个错误也是很愚蠢的,LZ先写了target_link_libraries(curltest curl),然后定义的add_executable(curltest main.c),单纯的把顺序写反了,所以程序找不到curltest的定义。。。真是一点都不智能。还是没有养成写CMakeLists.txt的良好习惯。

9.Parse error.Function missing ending “)”. End of file reached

报的错误是解析错误,是因为圆括号不对称,导致直接程序找到文章结尾了,注意查找对应括号就行了。

其实还会遇到很多其它错误啦,只能遇到一个解决一个咯O(∩_∩)O

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage cmake error 阅读详情

相关推荐

CMake 判断操作系统类型

cmake使用 if(win32) 判断操作系统是否Windows;

bcbobo21cn的专栏 1498

如何解决CMake Error: The source directory“xxxx”does not exist

初学ROS的时候可能经常会搬运别人的工作空间直接使用,或者将自己这台电脑上的工作空间复制粘贴到另一台电脑上,但是直接使用catkin_make来进行编译会出现CMake Error: The source directory ““ does not exist的错误.........

intfloatchar的博客 2万+

CMake错误:配置过程中的错误,项目文件可能无效(适用于Windows和VS)

其中一个常见的错误是"error in configuration process, project files may be invalid"(在配置过程中出现错误,项目文件可能无效)。出现"error in configuration process, project files may be invalid"错误通常是由于CMake无法正确配置项目文件引起的。清理缓存:有时,CMake的配置缓存可能会导致错误。编译器问题:CMake可能无法找到正确的编译器或编译器选项,导致配置过程中出现错误。

KgCrystal的博客 9863

CMake 常见问题及解决办法

本文介绍了一些CMake常见问题及解决办法,主要涉及到Boost库、安装命令、编译器、生成器、缓存文件、路径转义和版本更新等方面。希望本文能够帮助大家更好地使用CMake构建自己的项目。

我其实什么都不会 1万+

Games101作业0环境搭建全攻略:从虚拟机到CMake与Eigen配置

在C++图形学开发中,环境搭建是首要步骤,涉及编译器、CMake构建系统和Eigen线性代数库的协同工作。CMake作为跨平台构建工具,能自动生成Makefile,简化编译流程;Eigen则提供高效的矩阵运算,是图形学计算的基石。正确配置这些工具,能显著提升开发效率,避免常见错误。典型应用场景包括游戏引擎开发、计算机视觉和物理模拟。本文以Games101作业0为例,详细解析在Ubuntu虚拟机中配置C++工具链、CMake和Eigen的完整流程,并分享避坑经验,助你快速搭建可复用的开发环境。

weixin_34319374的博客 386

海思MIPI屏调试实战:从参数计算到点亮屏幕的完整指南

本文提供了一份海思平台MIPI屏幕调试的完整实战指南。文章以Hi3516DV300调试800x1280分辨率屏幕为例,详细讲解了从参数计算、配置文件修改到最终点亮屏幕的全流程,并分享了常见问题排查与进阶优化技巧,旨在帮助嵌入式开发者高效解决MIPI屏调试难题。

weixin_29190573的博客 729

CMake error 合集(Configuring incomplete errors occurred!)

其实,每次碰到要安装一些软件啊,通常软件的源码都是c/c++,刚开始LZ不理解,从来都是跟着Readme.txt,一步步安装,如果说一帆风顺的把软件安装好了,也就罢了,很可能不会深究到底 cmake . cmake .. make all make -j4 make install 上述列出来的到底是什么含义,直接机械式地先安装依赖库,经常用的也就是: sudo apt-get instal...

dxmcu的专栏 6656

【初阶】手把手教你轻松上手Denodo | 连接数据库并创建基本视图 (二)

在本教程的第二部分,我们将涵盖:连接到数据库,与创建基本视图。

Denodo的博客 1093

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage

5 1 When I build an android project which includes ndk code. I got the following error: Build command failed. Error while executing process /home/gongzelong/Android/Sdk/cmake/3.6.4111459/bin/c...

清澈见底的专栏 5565

ANSYS Workbench对称分析进阶:手把手教你用Pre-Meshed Cyclic Region处理外部导入的复杂网格模型

本文详细介绍了ANSYS Workbench中Pre-Meshed Cyclic Region功能在处理外部导入复杂网格模型时的应用。通过循环对称分析技术,可显著减少计算资源消耗,特别适用于叶轮机械、齿轮组等周期性结构分析。文章深入解析了该功能的底层逻辑,并提供了从NASTRAN文件导入的离心压缩机叶轮案例,帮助工程师克服网格匹配难题。

weixin_28630185的博客 308

告别调试烦恼:用Lattice Diamond手把手教你JTAG烧录FPGA(附SRAM/Flash模式详解)

本文详细介绍了使用Lattice Diamond软件进行JTAG烧录FPGA的全流程,包括SRAM临时调试和Flash固化的核心区别。从环境准备、硬件连接到文件准备、烧录模式选择,再到典型问题排查和高级技巧,手把手教你快速掌握FPGA烧录技术,提升开发效率。

weixin_42569329的博客 489

【cmake】解决Unknown CMake command “QT5_WRAP_UI“类似错误

这种类似的问题LZ前前后后碰到了好几次,这里贴出其中一种,其他也都是类似的解决方法。CMake Error at src/Ui/CMakeLists.txt:15 (FIND_PACKAGE): Could not find module FindQT5.cmake or a configuration file for package QT5. Adjust CMAKE_MO

Felaim的博客 1万+

华为OD机试真题 新系统 2026-04-22 Python&JS 实现【小学生班长选举增强版】

9 月份开学第一天,小学某班级进行班长选举活动,班级共有 N 个学生,每个学生最多可投 3 票(对同一个人只能投一票),也可以弃权不投票,大家投票时写上对应学生的名字。 假设学生不存在重名。考虑到部分少数民族名字带分隔,且整体较长,同学在投票时为了方便,允许同学写全称,也可以只写其中的部分连续段。 例如班级里只有 2 个少数民族名称带点的同学:

MISAYAONE的博客 297

PUTN catkin报错CMake Error 解决

解决办法:打开putn/src/putn/putn_rviz_plugins/CMakeLists.txt文件,找到这段。endif()”删除其中的${rviz_QT_VERSION}将其改成。原因是找不到5.9.5版本的Qt。在编译PUTN项目时出现如下报错。

twc16670334539的博客 943

[SV]SystemVerilog状态机实现案例

本文介绍了SystemVerilog中状态机的实现方法。首先使用枚举类型定义状态(TOP_HIB、TOP_BG、TOP_LDO、TOP_NOR),然后通过三个主要任务实现状态机:1)格式化现态寄存器处理状态转换;2)描述状态转移条件,包括计时器和稳定时间判断;3)基于当前状态和输入信号确定次态。状态机在时钟边沿或复位时更新状态,实现了从休眠到正常工作状态的转换逻辑,包含电源稳定时间检测等关键功能。

元直的博客 2011

最新扣子智能体教程:手把手教你接入抖音评论区,实现自动回复

摘要:本文介绍如何利用扣子(Coze)平台搭建智能体实现抖音评论自动回复。从准备工作(账号注册、权限申请)到智能体创建(提示词优化、模型选择),再到抖音API接入和自动回复逻辑设置,详细说明了每个步骤的操作方法。文章还提供了回复模板示例和优化建议,帮助提升互动效率。通过这套方案,创作者可以显著减轻评论区管理压力,增强用户互动体验。(149字)

互联网架构师笔记 952

cmake编译问题解决

2 安装cmake软件包 yum install cmake3 create account of mysql groupadd mysql useradd -g mysql mysql autoreconf --force --install libtoolize --automake --force...

weixin_34323858的博客 1029

北斗导航 | 卡尔曼滤波与因子图优化对比(附图优化matlab代码)

- 历史数据利用:因子图通过滑动窗口保留历史状态,优化时联合多帧数据;卡尔曼滤波仅依赖当前和上一帧状态 。 - 迭代优化:因子图通过多次迭代逼近最优解,卡尔曼滤波仅单次更新 。 - 误差抑制:因子图的多次线性化可有效抑制非线性误差(如GNSS伪距观测的非线性) 。

尘世冰封的专栏 1290

win7 + VS2010 + CUDA7.5 编译OPENCV2.4.9 报错:CMake Error at cmake/OpenCVUtils.cmake:433 (string):

具体编译参考以下博文,感谢博主的分享 http://blog.csdn.net/joe_fannie/article/details/50394892 但是在cmake的过程中,遇到以下报错: 1、 CMake Error at cmake/OpenCVUtils.cmake:433 (string): Syntax error in cmake code at F:/P

xiao_lxl的专栏 8083

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ROS 解决catkin_make时cmake error Invoking "cmake" failed

照着官网教程做的时候执行catkin_make命令时报错 CMakeLists.txt:52 (find_package) Configuring incomplete, errors occurred! See also "/home/zym-sf/catin_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/zym-sf/cat...

yinhuan1649的博客 2万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CMake Error:No targets specified and no makefile found

CMake Error:No targets specified and no makefile found

weixin_50749380的博客 1001

win10配置Openvino在inference_engine_samples_build_2015 error:System Error: Permission denied

-- Configuring incomplete, errors occurred! CMake Error: Cannot open file for write: D:/basic_tools/opencv_tookeit/openvino_2019.1.087/deployment_tools/inference_engine/samples/CMakeCache.txt.tmp CMak...

m0_37679096的博客 1124

gtsam的安装过程及lego-loam问题总结

注意: 不用卸载旧版本的gtsam,只需要下载想要的版本,重新源码编译安装一遍即可,这样会把之前的版本直接覆盖掉。 https://codechina.csdn.net/mirrors/borglab/gtsam/-/tree/4.0.0 mkdir build cd build cmake .. sudo make sudo make install 编译lego-loam可能报错 CMake Error at /usr/share/cmake-3.5/Modules/CMakeFindDe.

酸梅果茶的博客 4317

RmlUi 5.0环境搭建:CMake构建契约与GLFW ABI兼容性实战

RmlUi 是一款面向嵌入式与桌面端的跨平台UI渲染框架,其核心依赖于C++构建时的确定性契约而非运行时动态适配。理解其底层原理需掌握CMake构建系统语义、GLFW ABI兼容性边界及模块化链接策略——这三者共同构成渲染栈可复现性的技术基础。RmlUi 5.0对GLFW 3.3.8的强绑定并非版本偏好,而是因CMake配置布局变更导致的ABI指纹锁定;而cmake-gui实为缓存状态监控仪表盘,每一次Configure本质是对依赖图的显式建模。典型应用场景包括工业HMI开发、车载中控UI原型验证及跨架构(

caodaoxi的专栏 446

ROS 解决catkin_make时cmake error Invoking “cmake“ failed

ROS 2 篇文章0 订阅 订阅专栏 照着官网教程做的时候执行catkin_make命令时报错 CMakeLists.txt:52 (find_package) Configuring incomplete, errors occurred! See also "/home/zym-sf/catin_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/zym-sf/catin_ws/build/CMakeFiles/CMakeError.log"..

追光少年的博客 2300

记录关于Android Studio NDK开发时Cmake报错以及解决方案

(问题)主要报错:-- Configuring incomplete, errors occurred!CMake Error: CMAKE_C_COMPILER not set, after EnableLanguageCMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguageBuild command failed.(解决)项目模...

inaUI的博客 7467
上一篇: 【cmake】Cmake实践一:hello world(v1.0)
下一篇: 【cmake】Linux下如何完整的构建cmake项目
Felaim
Felaim 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄11年 3万+粉丝 592原创
评论 39
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值