2017-09-26 127 views
1

这是论坛上的一个常见问题,但解决方案无法解决。针对MSVS 2017的Windows 10 64位,CGAL 4.11,Cmake 3.9.2,Boost 1.65.1,Qt5,libQGLViewer 2.7.0,Visual Studio 2017,构建为Debug和Release的CGAL,无数C++包含路径和Windows用户路径变量。同样的事情,它不能打开,不一定找不到,一个主要的CGAL库文件。 .lib文件当然存在。当我尝试运行一个简单的CGAL测试程序时,我无法超越这个错误。CGAL错误:LNK1104:无法打开文件CGAL -... 4.11.lib

https://imgur.com/gallery/heEDb

+0

可能的答案在这里,CGAL已经建立了一个错误的链接器标志,但在配置任何指定/ MTd行后,我没有在CMake中看到,而我发现/ MD和/ MDd有很多,所以这不是真的问题。 http://stackoverflow.com/a/28044353/4806365 – NikNYC

+0

为项目的链接器属性添加/ VERBOSE额外的条目没有提供额外的信息,它只是列出了包含错误的所有内容。 – NikNYC

+0

如果不是将库位置添加到C++头文件中,而是右键单击属性,我将它添加到链接器附加库目录,它会编译(调试模式)并最终出现一个输出窗口,但不会运行,因为它会显示“ CGAL-vc140-mt-dg-4.11.dll缺失“,这确实存在,我的C++头条目指向它的目录。在最终错误发生之前,我得到了许多其他PDB文件错误,但是在打开工具>选项>调试>符号> Microsoft Symbol Servers后,它们消失了。 – NikNYC

回答

0

事实上,我必须激活Windows 10,内置的Bash shell,两个易于谷歌的步骤,然后简单地从CGAL scripts目录复制cgal_create_CMakeLists到我的Visual Studio项目目录,并进入Windows磁盘通过Bash“mnt”目录。当我输入“cgal_create_CMakeLists”时,它会吐出有关如何通过命令安装脚本的信息,然后在激活之后,当我输入“cgal_create_CMakeLists”时,它添加了一个CMakeLists文件,我只需将CMake-gui指向未完成的Boost_DIR安装目录让Configure不列出红色错误。然后Visual Studio可以打开由CMake-gui创建的.sln文件,然后编译它。在解决方案资源管理器窗格中右键单击我的程序列表,将其设置为启动项目让我点击绿色调试器箭头,当一个空白控制台窗口消失后,CGAL写了一个很好的ASCII四面体out.Mesh文件。最初,我使用的示例文件是从CGEN参考网站复制并粘贴到一个新的Visual Studio中的Windows控制台项目,一个球形边界四面体网格的:

http://cgal-discuss.949826.n4.nabble.com/CGAL-demos-on-Windows-won-t-configure-td4656618.html

我不知道是什么软件将现可视化简单格式化的.Mesh文件,因为MeshLab不会。

如果您有QT5和libQGLViewer:多边形,多面体和AABB_tree,那么三种Demo软件包据说可以创建自己的图形。我至少有机会用Visual Studio来构建它们,现在CMake与CGEN的小shell脚本合作,Windows 10很高兴能够运行。

CGAL使用起来非常复杂,除非您阅读有关从根本上依赖CMake准备脚本编写即使是最简单的示例的精美版本。

+0

事后看来,我认为Qt5和libQGLViewer并不值得这么麻烦,因为它们只是一些图形窗口输出附件,适用于少量的演示。那里有很多独立的查看软件。绝大多数演示和所有示例都不使用它们。由于CMake必须将Qt5_DIR手动设置到隐蔽的深层目录C:\ Qt \ 5.9.1 \ msvc2017_64 \ lib \ cmake \ Qt5以阻止QMake在您尝试清除Qt5_DIR时再次清除Qt5_DIR再次配置。它还需要在Visual Studio 2017中安装Qt5菜单插件。 – NikNYC

+0

CGAL四面体网格处于默认的MEDIT查看器格式(http://ljll.math.upmc.fr/frey/software.html)。该页面有一个二进制文件,并且还分别包含所需的DLL文件。你的命令行从它的控制台打开你的文件,然后有一个用于交互式裁剪的右键菜单。结果:http://imgur.com/gallery/THvGy – NikNYC

相关问题