Error

C++博客 首页 新随笔 联系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

更新到QT5以后发现CMAKE里边的几个函数变了,加上qt自身也做了一些调整,总之以前qt4下面用CMAKE编译qt工程的那一套不管用了。

 

然后在按照官方文档写了cmake尝试编译,发现报错:

http://qt-project.org/doc/qt-5.0/qtdoc/cmake-manual.html

CMake Warning at CMakeLists.txt:5 (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.

 

 

百度了一下,中文基本找不到答案,Google了一下找到答案了,但是该死的我忽略了,后来自己整明白才发现人家给的是完全正确的答案。

http://stackoverflow.com/questions/15639781/how-to-find-qt5-cmake-module-on-windows

 

 

我的分析过程如下:

根据错误,可以知道是找不到*Qt5*.cmake这些文件,观察cmake安装目录自带的一组*.cmake,确实没有这些qt5工程编译依赖的*.cmake,于是第一反应是想qt sdk代码里边一定是提供了的。去搜索一下,果不其然,,,

直接拷贝过去了,,,发现问题依旧,,,不过这次提示的*.cmake内部的错误,初步分析了一下和目录结构可能有点关系,,,这时候突然回忆起来上面给出的stackoverflow的帖子,,,

 

果然设置一下

CMAKE_PREFIX_PATH到qtbase目录,就搞定

 

初略的过了下cmake的文档,在find_package中提到

1. Search paths specified in cmake-specific cache variables. These are intended to be used on the command line with a -DVAR=value. This can be skipped if NO_CMAKE_PATH is passed.

   CMAKE_PREFIX_PATH
CMAKE_FRAMEWORK_PATH
CMAKE_APPBUNDLE_PATH
posted on 2013-04-13 20:39 Enic 阅读(22122) 评论(1)  编辑 收藏 引用 所属分类: QT

评论

# re: Qt5 CMAKE编译简记 2016-08-11 18:06 amber
楼主楼主 这里有只菜鸟有问题
去哪里设置CMAKE_PREFIX_PATH到qtbase目录啊??  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理