我正在尝试在Ubuntu平台上的CodeBlocks IDE上运行CGAL库中的“Scale_Space_Surface_Reconstruction_3”示例,因为它会很好 让IDE支持代码完成和更自动的配置过程。
我设法通过终端窗口上的cmake编译来成功执行它。
但是,在CodeBlocks上,在创建新项目并从示例中复制代码后,我收到以下错误:
/usr/local/include/CGAL/Scale_Space_Reconstruction_3/Scale_Space_Surface_Reconstruction_Impl_3.h:165:23: error: variable or field 'pca' declared void
Approximation pca( _nn[i]);
通过查看代码,我发现这是由于未定义的宏CGAL_EIGEN3_ENABLED
。正如我的实验所示,如果我定义宏
预处理时间,我没有得到相同的错误。这是因为,通过定义宏,类型定义Default::Get< wA,void>::type
变为
Default::Get< wA, Weighted_PCA_approximation_3<Gt>>::type
,编译器不再抱怨了。
不幸的是,作为弄乱我并不理解的事情的当之无愧的奖励,我在运行时遇到了分段错误。
我应该如何更改codeBlocks的编译器选项以使编译成功,并且可执行文件成功运行?
我有以下包含路径:
/usr/local/lib/CGAL/ /usr/local/include /usr/include /usr/include/eigen3.
我还包括以下库:
libCGAL.so, libCGAL_Core.so, libCGAL_ImageIO.so, libgmp.so, libmpfr.so, libtbb.so, libtbbmalloc.so, libtbbmalloc_proxy.so