本教程中的CGAL命名空间问题

时间:2018-01-04 16:01:26

标签: c++ visual-studio cmake cgal

我正在尝试使CGAL在Windows 10上的Visual Studio(VS)2017 64位中工作。我已按照Download CGAL for Windows中概述的安装和编译步骤进行操作。我可以使用CMake将示例编译成.exe文件并执行它们,没有麻烦。

但是,现在我想在VS中创建一个自己的项目并使用CGAL库。工作流程:

  1. 在VS。中打开名为CGAL.sln的解决方案文件。
  2. 创建一个新项目,然后选择将其添加到解决方案中。
  3. 在此新项目属性窗口中,转到配置属性> C / C ++>常规,并在“附加包含目录”选项中添加路径C:\dev\CGAL-4.11\include
  4. 在创建的mysample.cpp文件中输入代码(从official tutorial复制):
  5. 代码:

    #include <iostream>
    #include <CGAL\Simple_cartesian.h>
    
    typedef CGAL::Simple_cartesian<double> Kernel;
    typedef Kernel::Point_2 Point_2;
    typedef Kernel::Segment_2 Segment_2;
    

    include语句没问题(我能够提取所有头文件),但typedef CGAL::Simple_cartesian<double> Kernel;行显示以下错误:

      

    不允许使用E0283限定名称

    似乎这是一个命名空间问题,就像在CGAL教程代码中一样,所有名称都限定在全局范围内的命名空间CGAL中。

    如何让教程代码在我的环境中运行?

0 个答案:

没有答案