在按照官方文档安装PCL库时,发现如下danteng的错误,内心极度崩溃!以前也遇到过,当时暂时解决了该问题,现在又遇到了重新解决一次,为了方便以后遇到该问题时不再不知所措,现做个笔记!
一、环境
win10 X64环境,没什么好说的
二、问题原因
一般来说就是安装了太多软件或者配置太多的库,导致环境变量的总长度数量超过2047个(这是微软设置的,不知道为啥这么设计,感觉到坑),直白来说就是微软定义的path这个变量名的容量就是2047个字符,如果用户给的字符多于2047个则造成字符溢出,相对于你定义了一个2048个长度的数组,结果你想保存3000个数,在你访问下标为2048或者大于2048的时候就会报错一样(不知道这样理解对不对,不对的请在下面留言)。
三、解决办法
在网上找个多个解决方法,但是博主只尝试过第一个方案,第二个方案由于涉及到注册表这个坑爹玩意,博主曾经玩注册表把电脑玩到只能重装系统,自此再也不敢动注册表,也就没尝试(在此和那些配置环境就容易出BUG同病相怜的小伙伴拥抱一下)。
1.利用嵌套原则增加path的容量
系统变量里面每个变量都只有2048长度以内的容量,但是我可以把另一个系统变量当成Path的环境变量以此来做嵌套。举个栗子:读过修真小说的都知道,储物戒子可以放物品,假设储物戒子都是可以存放2047个单位空间的物品,而默认一个人只能带一个储物戒子,那么一个人如何带超过2047个单位空间的物品呢?很简单,我把装满物品的戒子都放到一个储物戒子A中,那么我只带A这个储物戒就可以办到了(当然了很多修真小