Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Osx cmake构建Qt5项目_Macos_Qt_Build_Cmake_Qt5 - Fatal编程技术网

Macos Osx cmake构建Qt5项目

Macos Osx cmake构建Qt5项目,macos,qt,build,cmake,qt5,Macos,Qt,Build,Cmake,Qt5,我正在尝试使用cmake构建Qt5项目,但我现在一直有相同的错误: 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):

我正在尝试使用cmake构建Qt5项目,但我现在一直有相同的错误:

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)
它似乎是QtWidget中的find_包(Qt5Gui..),它使用androidx86路径而不是clang_64路径,但我不知道为什么即使使用NO_DEFAULT_路径选项,它也不会使用clang_64路径。。如有任何帮助或正在使用的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:解决方案

最后,我通过在每次生成find_package()错误之前(在Qt5WidgetsConfig.cmake、qt5corecoreconfig.cmake中)放置行集(Qt5${u module\u dep}}\u DIR“”)来构建它并使其工作。它似乎不允许任何默认路径正常工作。对于有相同问题的人,如果您的cmake正常工作,但在使用make命令时收到错误路径的警告,则应将上述set()命令放入相应的文件:Qt5“CorespondingModule”Config.cmake
ps:我还必须更改相关的find_软件包,包括:

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
            ) 

请注意我使用的新路径。

请参阅更新的my CMakeList.txt和edit2:SOLUTION

您阅读了吗?您是否至少有cmake 2.8.3或2.8.11?你能显示你的CMakeLists.txt吗?我已经读过了,但是我在使用find_包(Qt5Widgets)时遇到了同样的错误