Вопрос

Я пытаюсь построить проект QT5, используя Cmake, но я продолжаю некоторое время на одном и том же ошибке:

CMake Error at /Users/guillaume/Qt/5.2.1/android_x86/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:16 (message):
Failed to find "GLESv2" in "" with CMAKE_CXX_LIBRARY_ARCHITECTURE "".
Call Stack (most recent call first):
/Users/guillaume/Qt/5.2.1/android_x86/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:51 (_qt5gui_find_extra_libs)
/Users/guillaume/Qt/5.2.1/android_x86/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:143 (include)
/Users/guillaume/Qt/5.2.1/clang_64/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:88 (find_package)
/Users/guillaume/Qt/5.2.1/clang_64/lib/cmake/Qt5/Qt5Config.cmake:26 (find_package)
CMakeLists.txt:17 (find_package)
.

Кажется, qtwidgeget (qt5gui ..) в qtwidget, который использует путь androidx86 вместо пути clang_64, но я не знаю, почему он не пойдет с пути clang_64 даже при использовании опции no_default_path. Любая помощь или работа CMAKE файл будет оценен.

[редактировать обновленные]
Вот мой cmakelist.txt. Моя версия CMAKE 2.8.12.2:

#YCStats CmakeList.txt
cmake_minimum_required(VERSION 2.8.8)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
set(GCC_COVERAGE_LINK)
project(YCStats)
set( CMAKE_INCLUDE_CURRENT_DIR ON )
set( CMAKE_AUTOMOC ON)
set(QT5_PATH $ENV{HOME}/Qt/5.2.1/clang_64/ CACHE PATH "Path to Qt5")
set(QT5_MODULE_PATH ${QT5_PATH}/lib/cmake)
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${QT5_MODULE_PATH})
find_package( Qt5Widgets)
find_package( OpenCV REQUIRED )
find_package( FFMPEG REQUIRED )
find_package( TESS REQUIRED )
include_directories(
    ${FFMPEG_INCLUDE_DIR}
    ${TESS_INCLUDE_DIR}
)
file(
    GLOB_RECURSE
    source_files
    src/*.cpp
)
file(
    GLOB_RECURSE
    header_files
    src/*.h
)
add_executable(
    YCStats.x
    ${source_files}
    ${header_files}
)
target_link_libraries(
    YCStats.x
    ${OpenCV_LIBS}
    ${FFMPEG_LIBRARIES}
    ${TESS_LIBRARIES}
)
qt5_use_modules(YCStats.x Widgets)
.

<Сильные> Редактировать 2: решение

Наконец-то мне удается построить его и сделать его работать, поместив набор строк (QT5 $ {_ Module_dep} _dir "") Перед каждой ошибкой, делая find_package () (в qt5widgetsconfig.cmake, qt5coreconfig.cmake ...). Кажется, позволяет NO_Default_Path работать нормально. Для людей, имеющих ту же проблему, если ваш Cmake работает, но вы получаете предупреждение с неправильным путем при использовании Command Command, вы должны поместить команду set (), описанную выше в соответствующем файле: qt5 "CoressPondingModule" config.cmake
PS: Я также должен был изменить соответствующую Find_package с:

find_package(Qt5${_module_dep}
                5.2.1 ${_Qt5Widgets_FIND_VERSION_EXACT}
                ${_Qt5Widgets_DEPENDENCIES_FIND_QUIET}
                ${_Qt5Widgets_FIND_DEPENDENCIES_REQUIRED}
                PATHS "${CMAKE_CURRENT_LIST_DIR}/../Qt5${_module_dep}" 
                NO_DEFAULT_PATH
            ) 
.

Обратите внимание на новый путь, который я использовал.

Это было полезно?

Решение

Смотрите мой cmakelist.txt обновлен и edit2: решение .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top