Ошибка Qt в файле .obj: неразрешенные внешние проблемы - PullRequest
0 голосов
/ 01 сентября 2018

Итак, я изменил следующие строки:

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 голосов
/ 01 сентября 2018

Похоже, ваша библиотека OpenMesh является 64-битной, и вы пытаетесь связать ее с 32-битной библиотекой перенасыщения, что невозможно. У вас есть два варианта:

  1. Не используйте glut32, а используйте 64-битную библиотеку glut.
  2. Если вам нужен 32-битный бинарный файл, измените все остальные библиотеки на 32-битную версию. А для запуска 32-разрядного приложения в Linux (который, кажется, вы включен), вам может потребоваться добавить архитектуру i386 (подробнее см. здесь ).
...