Pregunta

Estoy tratando de construir un proyecto QT5 usando CMAKEP, pero sigo teniendo el mismo error por un tiempo ahora:

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)

Parece que es el Package Find_Package (qt5gui.) En Qtwidget, que usa la ruta ANDROIDX86 en lugar de la ruta CLANG_64, pero no sé por qué no irá con la ruta CLANG_64 incluso cuando se usa la opción no_default_path .. Cualquier ayuda o trabajo El archivo Ctake sería apreciado.
[editar actualizado]
Aquí está mi cmakelist.txt. Mi versión CMAKE es 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)

Editar 2: Solución

Finalmente, logré construirlo y hacer que funcione al colocar el conjunto de líneas (QT5 $ {_ Module_DEP} _DIR ") antes de cada error que haga Find_Package () (en Qt5WidgetSconfig.cMake, Qt5coreconfig.cmake ...). Parece que no lo permite trabajar normalmente no_default_path. Para que las personas tengan el mismo problema, si su cmake funciona, pero obtiene una advertencia con la ruta incorrecta cuando se usa el comando HACE, debe colocar el comando SET () descrito anteriormente en el archivo correspondiente: QT5 "CORESSPONDINGMODULE" config.cmake
PD: También tuve que cambiar el Package Find_Package en cuestión:

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
            ) 

Preste atención al nuevo camino que usé.

¿Fue útil?

Solución

Vea mi cmakelist.txt Actualizado y Edit2: SOLUCIÓN .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top