qt4在windows 8上cmake时的遇到的问题和解决方案

英文原文url:CMake with Qt4 on Windows 8

昨天我在笔记本上装了windows 8,今天我开始用cmake重新构建我的C++工程。但是cmake没能生成sln文件,是 因为有以下错误信息:

**********************Setting up ossimPlanetQt********************

MSVC_VERSION: 1500

Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as Qt: Untested Windows version 6.2 detected!

d:/Qt/4.6.1/lib

Warning: But QtCore couldn't be found. Qt must NOT be installed correctly, or it wasn't found for cross compiling.

CMake Error at D:/Program Files/CMake 2.8/share/cmake-2.8/Modules/FindQt4.cmake:594 (MESSAGE):

Could NOT find QtCore. Check

E:/ossim_src/ossim_package_support/cmake/CMakeFiles/CMakeError.log for more

details.

Call Stack (most recent call first):

E:/ossim_src/ossimPlanetQt/CMakeLists.txt:14 (FIND_PACKAGE)

 

经过原作者在谷歌上一段时间的搜索,原来这个问题是cmake自身的一个bug造成的,这个bug已经得到很好的解决,但是解决方法并没有安装到cmake2.8.7或者cmake2.8.9等很多版本的cmake里。所以,只能靠我们手动修改,解决方法是很简单,就是打一个小补丁——仅仅替换掉的FindQt4.cmake 脚本文件中的一行即可。

解决方法的具体流程如下:

  1. 打开文件: %CMAKE%\share\cmake-2.8\Modules\FindQt4.cmake
  2. 查找: OUTPUT_VARIABLE output ERROR_VARIABLE output
  3. 将这一行替换为: OUTPUT_VARIABLE output

 

到此,所有的事情都工作正常了!

你可能感兴趣的:(qt,window8,cmake,bug)