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
Qt Cmake can';即使我';已设置CMAKE_前缀_路径_Qt_Build_Cmake - Fatal编程技术网

Qt Cmake can';即使我';已设置CMAKE_前缀_路径

Qt Cmake can';即使我';已设置CMAKE_前缀_路径,qt,build,cmake,Qt,Build,Cmake,我最近刚刚升级到Qt5.7,我正在尝试构建一个需要找到几个包的项目。我在mac电脑上,最近升级到el capitan。我已在.bash\u配置文件中设置了CMAKE\u PREFIX\u路径,并检查了环境以验证其正确性。当我做cmake的时候。在我的项目所在的文件夹中(以前我是这样构建的),它会给我一些错误,例如: CMake Warning at CMakeLists.txt:79 (FIND_PACKAGE): By not providing "FindQt5Widgets.cmake"

我最近刚刚升级到Qt5.7,我正在尝试构建一个需要找到几个包的项目。我在mac电脑上,最近升级到el capitan。我已在.bash\u配置文件中设置了CMAKE\u PREFIX\u路径,并检查了环境以验证其正确性。当我做cmake的时候。在我的项目所在的文件夹中(以前我是这样构建的),它会给我一些错误,例如:

CMake Warning at CMakeLists.txt:79 (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的变体,例如:

CMAKE_PREFIX_PATH=/Users/mnicholson/Qt/5.7/clang_64/ 
以及

CMAKE_PREFIX_PATH=/Users/mnicholson/Qt/5.7/clang_64/lib/cmake/
但这两种方法似乎都不起作用,尽管存在cmake文件。使用较旧版本的qt设置路径是可行的,但是自从从5.5升级到5.6,然后再升级到5.7后,我感到困惑。。。救命!!这是qt5.7问题吗?El capitan

谢谢

尝试路径选项。差不多

find_package(Qt5Widgets
    CONFIG
    PATHS /Users/mnicholson/Qt/5.7/clang_64/lib/cmake/Qt5Widgets
    NO_DEFAULT_PATH)

如果不只是加载小部件模块,那么路径应该是
/Users/mnicholson/Qt/5.7/clang_64/lib/cmake/Qt5Widgets
/Users/mnicholson/Qt/5.7/clang_64/lib/cmake/Qt5
。您在示例中给出的路径不完整顺便说一下,您还可以尝试设置Qt5Widgets_DIR(或Qt5_DIR)以避免污染cmake全局变量,所以我必须指向每个特定文件夹?我有大约24个这样的错误。我的印象是(正如我之前所说,这在5.4和5.6中都有效,路径为/Users/mnicholson/Qt/5.6/clangu_64/)指向顶部文件夹,并且cmake会在下面的文件夹中搜索它需要的内容。那么5.6和5.7之间发生了什么变化呢?我不知道发生了什么变化。它不应该与以前的版本一起工作。我猜您的系统是以不同的方式配置的,一些系统变量指向正确的位置,但我不知道。您不必指向每个文件夹。只需指向Qt5并在项目的根目录中指定所需的模块。我建议你用一个例子来回答我的问题,我确实指出了Qt5,并在我的项目的根目录中列出了我需要的模块,这就是为什么我要问这个问题。我暂时回滚到5.6.1,只是为了得到能够构建的东西。