【问题标题】:Link error with libCGAL-vc120-mt-sgd-4.5.1.lib and cant seem to find or build it与 libCGAL-vc120-mt-sgd-4.5.1.lib 链接错误,似乎无法找到或构建它
【发布时间】:2015-01-15 18:03:21
【问题描述】:

嘿,当谈到 CGAL 和 CMake 时,我有点菜鸟,但我已经到了除了这个链接错误之外一切似乎都在运行的地步:

链接:致命错误 LNK1104:无法打开文件“libCGAL-vc120-mt-sgd-4.5.1.lib”

问题是我似乎无法在我构建错误的任何地方找到对这个库的引用?

我可以在我的 cgal lib 目录中看到链接正常的“libCGAL-vc120-mt-gd-4.5.1.lib”。我不确定 gd 和 sgd 之间的区别是什么以及如何做到这一点。

感谢任何帮助。

【问题讨论】:

  • 这是什么操作系统? Linux?
  • 我不确定 gd 和 sgd 之间的区别是什么以及如何做到这一点。 我相信区别是 sgd = static调试其中 gd = 调试 dll。看起来它遵循boost命名。 stackoverflow.com/questions/2715164/…
  • 这是 Visual Studio 2013 的错误信息和库命名。 vc120 == Visual Studio 2013。
  • Windows 8.1 - Visual Studio 2013。认为它可能与静态链接有关一个-gd-,当我在vs中编译时。是否有某种我不知道我需要在vs或c-make中添加的标志?
  • 很多库使用 CMake 使用 BUILD_SHARED 选项(检查 cmake-gui)来构建共享库(dll)。我不使用 cgal,所以我不确定。

标签: c++ cmake cgal


【解决方案1】:

命名libCGAL-vc120-mt-sgd-4.5.1.lib 表明您正在编译一个程序,该程序使用CGAL,使用链接器标志/MTd(调试,并静态链接C++ 运行时)。

CGAL 的 CMake 脚本不支持与静态运行时链接。他们只支持/MD/MDd。我建议您在设置中更改链接器标志。

或者,您可以尝试更改 CGAL 的 CMake 脚本,但我不推荐该解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-16
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多