我一直试图让Point Cloud Library工作几天。我尝试过几种方式安装它,包括cMake,MacPort和Home-brew。我浏览了很多论坛,博客文章,甚至Stack Overflow帖子,我仍然坚持! 问题是,虽然程序本身没有任何问题,但在编译时我得到一个未定义的符号,用于架构X86_64 错误。请参阅下面的直接引用:
def squarify(M,val):
(a,b)=M.shape
if a>b:
padding=((0,0),(0,a-b))
else:
padding=((0,b-a),(0,0))
return numpy.pad(M,padding,mode='constant',constant_values=val)
看起来所有问题都来自相同的类型定义:PCDWriter。 我检查了它所在的文件,代码对我不熟悉的眼睛看起来很好。我看到的一篇帖子暗示错误意味着该库试图在64位系统上运行32位。所以我从PCL 1.6.0升级到1.8.1(最新)希望看到差异,但没有变化。 另一个人认为这意味着PCDwriter没有为引用它的各种代码保留正确的信息。但同样,就我所知,代码看起来很好。 我决定尝试刻意进入链接器的路径(不要问为什么,绝望和不熟悉让我抓到奇怪的东西)并且在删除6个错误时用1替换它们"无法指定-o生成多个输出文件" 。 我发现这很奇怪,此时只有我的主要功能。据另一个人说,这是由于头文件在要编译的文件列表中时遇到的问题。解决方案是简单地从列表中删除标题。 所以我删除了它们并返回之前的错误。 我也尝试过,虽然不熟悉xCode如何与之交互,但是在Dev网站上使用"Use PCL in your own project"指令。 cMake拒绝作出。
我在导入这些类型的库方面不是很有经验,大部分我之前都使用过Arduino,尽管OpenCV库的安装和运行都非常简单(感谢Devs)。 谢谢你的帮助,我真的很感激,
此致,Noob