1 个赞
我看上面写了语法错误,找文件看一下呢
Ubuntu版本是20,04是吧。
检查一下功能包是不是放到了src目录下,且功能包的cmake文件是不是正确编写了。
我尝试着去找了他所指出的文件,没有发现明显错误(copy给gpt看的)
是20.04,我只是建了一个空的src,然后直接进行的编译,就出现了这个错误
那不应该有问题。换个工具试一下:
Installation — colcon documentation
安装这个,删除之前编译的输出,只留下src
,然后用colcon build
编译。
这个工具是ROS系列最新的工具包
问题解决了吗
我明白了,用下面的方法:
第一步:
sudo vim /etc/wsl.conf
第二步:
输入以下内容后保存退出
# 不加载Windows中的PATH内容
[interop]
appendWindowsPath = false
第三步:
在Windows PowerShell 执行:
wsl --shutdown
这样就规范了PATH的值,应该就没问题了
2 个赞
厉害,目前看来问题确实解决了,编译新包没有任何问题,我之前想过会不会是子系统安装的路径出现错误,但是不懂这方面原理,也看不出来具体问题,感谢大佬
另外,请问这个问题大概是什么原理呢,因为我wsl没装好所以PATH的值出现了问题吗
是因为Windows的PATH中会出现Linux不支持的字符,所以有些时候需要让WSL不继承系统的PATH.
哦哦,不是很懂原理,不过大概能明白是怎么一回事,之前我echo $PATH看见那一长串还以为没什么问题,感谢大佬
我用了很长一段时间的WSL了,但是好像没有出现过类似的问题,也没有/etc/wsl.conf文件,请问你的是WSL1还是2?
这是WSL2。WSL1和2都会自动继承Windows的PATH,在一定程度上会对LInux环境产生干扰。本质上我们是不希望Windows环境变量进入Linux环境的()
wsl2,csdn上找的教程
尽量还是不要用wsl吧