Я использую 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