CGAL链接器错误CGAL_Core-vc140-mt-gd-4.13.1.lib无法打开

问题描述 投票:0回答:1

我必须与 CGAl 一起做一个项目。如果我使用 Visual Studio 17 运行一个项目(例如 Hello World),我会收到此链接器错误 CGAL Core vc140 mt gd 4.13.1 lib file can not open。 我使用带有 Visual Studio 17 的 Windows 10。 对于 CGAl 和 Boost,我使用 CGAL 4.11 设置,而 boost 我使用 boost 1 65 1 msvc 14.1。 此外,我使用 3.31.0 版本作为 cmake

这是我的项目

#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;

int main()
{
    Point_2 p(1, 1), q(10, 10);

    std::cout << "p = " << p << std::endl;
    std::cout << "q = " << q.x() << " " << q.y() << std::endl;

    std::cout << "sqdist(p,q) = "
        << CGAL::squared_distance(p, q) << std::endl;

    Segment_2 s(p, q);
    Point_2 m(5, 9);

    std::cout << "m = " << m << std::endl;
    std::cout << "sqdist(Segment_2(p,q), m) = "
        << CGAL::squared_distance(s, m) << std::endl;

    std::cout << "p, q, and m ";
    switch (CGAL::orientation(p, q, m)) {
    case CGAL::COLLINEAR:
        std::cout << "are collinear\n";
        break;
    case CGAL::LEFT_TURN:
        std::cout << "make a left turn\n";
        break;
    case CGAL::RIGHT_TURN:
        std::cout << "make a right turn\n";
        break;
    }

    std::cout << " midpoint(p,q) = " << CGAL::midpoint(p, q) << std::endl;
    return 0;
}

如果我运行这个,我会收到此链接器错误

LNK1104 file "CGAL_Core-vc140-mt-gd-4.13.1.lib" can not open.   Hello_world_CGAL    
C:\Users\Besitzer\source\repos\Hello_world_CGAL\Hello_world_CGAL\LINK   1   

在编译器的属性中我添加此

C:\local\CGAL-4.11\auxiliary\gmp\include
C:\local\boost_1_65_1
C:\local\boost_1_65_1\build\include
C:\local\CGAL-4.11\include

对于链接器的属性,我使用了这些目录

C:\local\CGAL-4.11\auxiliary\gmp\libs
C:\local\boost_1_65_1\libs
C:\local\boost_1_65_1\lib64-msvc-14.1
C:\local\CGAL-4.11\build\lib

我检查了这个lib文件是否存在,发现了这个文件。我还检查了类似问题的兴趣,但我发现不多。

visual-c++ cgal
1个回答
0
投票

另一个解决方案可能是升级 CGAL。 现在只是标题。

© www.soinside.com 2019 - 2024. All rights reserved.