.obj文件中的Qt错误:无法解析的外部

时间:2018-09-01 05:53:44

标签: qt opengl openmesh

所以我更改了以下几行:

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

1 个答案:

答案 0 :(得分:1)

您的OpenMesh库似乎是64位的,并且您正试图将其与32位的glut库链接,这是不可能的。您有两种选择:

  1. 不要使用glut32,而要使用64位glut库。
  2. 如果需要32位二进制文​​件,请将所有其他库也更改为32位版本。为了在Linux上运行32位应用程序(似乎已经启用),您可能需要添加i386体系结构(有关更多信息,请参见here)。