我一直在努力让他们工作。在安装库(通过 tarball)并通过 cmake-gui 安装我发现需要的每个依赖项之后,我设法使示例和一些 2D 演示工作。
我可以运行三角剖分和多边形演示,但是当我尝试制作多面体演示时,它达到 13% 并引发以下错误:
Scanning dependencies of target scene_polyhedron_item
[ 13%] Building CXX object CMakeFiles/scene_polyhedron_item.dir/Scene_polyhedron_item.cpp.o
[ 13%] Building CXX object CMakeFiles/scene_polyhedron_item.dir/scene_polyhedron_item_automoc.cpp.o
Linking CXX shared library libscene_polyhedron_item.so
/usr/bin/ld: /usr/local/lib/x86_64-linux-gnu/libCGAL.a(all_files.cpp.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/x86_64-linux-gnu/libCGAL.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libscene_polyhedron_item.so] Error 1
make[1]: *** [CMakeFiles/scene_polyhedron_item.dir/all] Error 2
make: *** [all] Error 2
我用谷歌搜索了类似的错误,但我似乎无法将任何答案复制到其中。我尝试在 CMakeLists.txt 上添加 -fPIC 标志,但错误仍然存在。
使用 cmake-gui (我必须让其他一切正常工作)我注意到只有 QGLViewer-debug 包丢失。我试图找到它无济于事,无法理解如何制作第二个包的副本以使一个成为调试版本,也无法理解如何将包的正常版本转换为调试版本。而且我也看不出这是否与错误本身有关。
作为附带说明,AABB 树示例 Seg Faults 在启动时,在 cmake/make 区域没有错误。
我不知道此时该怎么办。我真的需要看到在这台计算机上运行的 3D 演示,以确保我可以使用这个库。