Progetto QT5 OSX Cmake Build QT5
Domanda
Sto cercando di costruire un progetto QT5 usando CMAKE ma continuo a avere lo stesso errore per un po 'ora:
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)
.
Sembra essere il find_package (qt5gui ..) in qtwidget che utilizza il percorso Androidx86 anziché il percorso CLANG_64 ma non so perché non andrà con il percorso CLANG_64 anche quando si utilizza l'opzione No_Default_path. Qualsiasi aiuto o funzionamento il file cmake sarebbe apprezzato.
[Modifica aggiornata]
Ecco il mio cmakelist.txt. La mia versione 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)
.
Modifica 2: Soluzione
Alla fine riesco a costruirlo e farlo funzionare mettendo il set di linee (QT5 $ {_ Module_Dep} _Dir "") prima di ogni errore che fa scoprire_package () (in qt5widgetsconfig.cmake, qt5coreconfig.cmake ...). Sembra che no_default_path funzioni normalmente. Per le persone che hanno lo stesso problema, se il tuo cmake funziona, ma si ottiene un avviso con il percorso sbagliato quando si utilizza il comando, è necessario inserire il comando Set () descritto sopra nel file corrispondente: qt5 "coresspondingmodule" config.cmake
PS: Ho anche dovuto cambiare il previsto find_package con:
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
)
.
Prestare attenzione al nuovo percorso che ho usato.
Soluzione
Vedi il mio cmakelist.txt Aggiornato e Edit2: Soluzione .