Как включить QGLVIEWER в CMAKE для Qt5 - PullRequest
0 голосов
/ 15 января 2019

Я устанавливаю CMAKE для включения QGLViewer для проекта Qt5. Однако, как только я пытаюсь скомпилировать проект, CMAKE останавливается со следующей ошибкой:

Ошибка CMake: в этом проекте используются следующие переменные, но для них установлено значение NOTFOUND. Пожалуйста, установите их или убедитесь, что они установлены и проверены правильно в файлах CMake: QGLVIEWER_LIBRARY связаны с целью "sfm" в каталоге / home / emanuele / sfm

QGLViewer присутствует по следующему пути: usr/include/QGLViewer, как можно увидеть на этом экране печати:

Print Screen of the File Path This is the file path

А вот как я устанавливаю путь на CMAKE:

CMAKE File Path This is the file path in CMAKE

Кроме того, я нашел этот источник , который был полезен для понимания того, как объявлять библиотеку. Также этот пост был полезен, чтобы указать мне правильный маршрут, но все еще не работает.

Ниже наиболее важной части CMAKE, вызывающей проблему:

cmake_minimum_required(VERSION 3.11)
project(sfm)

########### options ###############
SET(USE_QT TRUE CACHE BOOL)
########### END options ###########

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -g")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g")
set(CMAKE_INCLUDE_CURRENT_DIR ON)

########### OpenMP ################
find_package(OpenMP)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
########### END OpenMP ############

########### OpenCV ################
set (OpenCV_DIR /home/emanuele/opencv/build)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
list(APPEND LINK_LIBRARIES ${OpenCV_LIBS})
########### END OpenCV ############

########### Qt 5 ##################
IF (USE_QT)
  ADD_DEFINITIONS("-DUSE_QT")
  find_package(Qt5Widgets REQUIRED)
  find_package(Qt5Xml REQUIRED)
  find_package(Qt5OpenGL REQUIRED)

  include_directories(${Qt5Widgets_INCLUDE_DIRS}
      ${Qt5Xml_INCLUDE_DIRS}
      ${Qt5OpenGL_INCLUDE_DIRS}
  )
  list(APPEND LINK_LIBRARIES Qt5::Widgets Qt5::Xml Qt5::OpenGL)
  set(CMAKE_AUTOMOC ON)
  set(CMAKE_AUTOUIC ON)

  include_directories(src/ui/mainwindow src/ui/widgets)

  find_package(OpenGL REQUIRED)
  find_library(QGLVIEWER_LIBRARY
      NAMES qglviewer-qt5 qglviewer QGLViewer QGLViewer2)
  list(APPEND LINK_LIBRARIES ${QGLVIEWER_LIBRARY}  ${OPENGL_LIBRARIES})
ENDIF (USE_QT)
########### END Qt 5 ##############

########### sources ###############
file(GLOB_RECURSE SOURCE_FILES "src/*.cpp")
add_executable(sfm ${SOURCE_FILES})
########### END sources ###########

########### headers ###############
include_directories(src)
########### END headers ###########

########### link libraries ########
target_link_libraries(sfm ${LINK_LIBRARIES})
########### END link libraries ####

Я ожидаю, что CMAKE скомпилируется, но фактический результат, который я имею, показан на экране печати ниже, что не дает мне двигаться вперед:

Print Screen of the Error This is the file path

...