Не могу собрать библиотеку, которая использует Qt5Widgets - PullRequest
0 голосов
/ 22 сентября 2018

Я использую Ubuntu 18. Я пытаюсь создать библиотеку assimp, которая использует Qt5Widgets, CMakeLists.txt содержит следующую строку:

FIND_PACKAGE(Qt5Widgets QUIET)

Я не нашел "FindQt5Widgets.cmake" или "FindQt5.cmake "в системе, но место, где установлен Qt5, содержит следующий каталог:

/home/user/Qt5/5.11.1/gcc_64/lib/cmake/Qt5Widgets

, который содержит следующие файлы:

Qt5WidgetsConfig.cmake  
Qt5WidgetsConfigExtras.cmake  
Qt5WidgetsConfigVersion.cmake  
Qt5WidgetsMacros.cmake

Я попытался установить CMAKE_PREFIX_PATH:

-DCMAKE_PREFIX_PATH=/home/user/Qt5/5.11.1/gcc_64/lib/cmake/Qt5Widgets

или

-DCMAKE_PREFIX_PATH=/home/user/Qt5/5.11.1/gcc_64

но это не помогает.

Как это исправить?

Edit1

Предупреждающее сообщение:

CMake Warning at CMakeLists.txt:439 (MESSAGE):
Build of assimp_qt_viewer is disabled.  Unsatisfied dendencies: Qt5 DevIL

Часть CMakeLists.txt, котораявызывает это предупреждение:

 FIND_PACKAGE(Qt5Widgets QUIET)
 FIND_PACKAGE(DevIL QUIET)
 FIND_PACKAGE(OpenGL QUIET)
 IF ( Qt5Widgets_FOUND AND IL_FOUND AND OPENGL_FOUND)
    ADD_SUBDIRECTORY( tools/assimp_qt_viewer/ )
 ELSE()
    SET ( ASSIMP_QT_VIEWER_DEPENDENCIES "")
    IF (NOT Qt5_FOUND)
       SET ( ASSIMP_QT_VIEWER_DEPENDENCIES "${ASSIMP_QT_VIEWER_DEPENDENCIES} Qt5")
    ENDIF (NOT Qt5_FOUND)

    IF (NOT IL_FOUND)
       SET ( ASSIMP_QT_VIEWER_DEPENDENCIES "${ASSIMP_QT_VIEWER_DEPENDENCIES} DevIL")
    ENDIF (NOT IL_FOUND)

    IF (NOT OPENGL_FOUND)
       SET ( ASSIMP_QT_VIEWER_DEPENDENCIES "${ASSIMP_QT_VIEWER_DEPENDENCIES} OpengGL")
    ENDIF (NOT OPENGL_FOUND)

    MESSAGE (WARNING "Build of assimp_qt_viewer is disabled. Unsatisfied dendencies: ${ASSIMP_QT_VIEWER_DEPENDENCIES}") # Line 439
 ENDIF ( Qt5Widgets_FOUND AND IL_FOUND AND OPENGL_FOUND)

Я интерпретирую сообщение об ошибке, поскольку переменные Qt5_FOUND и IL_FOUND имеют значение false, что означает, что вызовы FIND_PACKAGE(Qt5Widgets QUIET) и FIND_PACKAGE(DevIL QUIET) были неудачными.Поиск DevIL * выходит за рамки данного вопроса.

Edit2 Изменено FIND_PACKAGE:

FIND_PACKAGE(Qt5Widgets REQUIRED)

cmake .. output:

CMake Error at CMakeLists.txt:420 (FIND_PACKAGE):
By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.

Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:

Qt5WidgetsConfig.cmake
qt5widgets-config.cmake

Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
"Qt5Widgets_DIR" to a directory containing one of the above files.  If
"Qt5Widgets" provides a separate development package or SDK, be sure it has
been installed.

Для всех других способов, упомянутых в комментариях (настройка CMAKE_PREFIX_PATH или Qt5Widgets_DIR), сообщения об ошибке нет, но я по-прежнему получаю следующее предупреждение:

CMake Warning at CMakeLists.txt:439 (MESSAGE):
Build of assimp_qt_viewer is disabled.  Unsatisfied dendencies: Qt5 DevIL
...