1

所以我改变了以下几行:

LIBS += \
    /usr/local/lib/libOpenMeshCore.so  \
    /usr/local/lib/libOpenMeshTools.so

LIBS += \
    -lglut -lGLU

至:

LIBS += \
    -lglut32 -lOpenMeshCored -lOpenMeshToolsd

然后我遇到这些错误:

QGLViewerWidget.obj:-1: error: LNK2019: unresolved external symbol __imp_glutWireTeapot referenced in function "protected: virtual void __cdecl QGLViewerWidget::draw_scene(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)"

QGLViewerWidget.obj:-1: error: LNK2019: unresolved external symbol __imp_glutSolidTeapot referenced in function "protected: virtual void __cdecl QGLViewerWidget::draw_scene(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)"

meshviewer.obj:-1: error: LNK2019: unresolved external symbol __imp___glutInitWithExit referenced in function glutInit_ATEXIT_HACK
4

1 回答 1

2

看起来您的 OpenMesh 库是 64 位的,而您正试图将其与 32 位 glut 库链接,这是不可能的。你有两个选择:

  1. 不要使用 glut32,使用 64 位 glut 库。
  2. 如果您需要 32 位二进制文​​件,请将所有其他库也更改为 32 位版本。并且要在 Linux 上运行 32 位应用程序(您似乎正在使用),您可能需要添加i386架构(有关更多信息,请参见此处)。
于 2018-09-01T07:09:10.007 回答