英文原文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 脚本文件中的一行即可。
解决方法的具体流程如下:
- 打开文件: %CMAKE%\share\cmake-2.8\Modules\FindQt4.cmake
- 查找: OUTPUT_VARIABLE output ERROR_VARIABLE output
- 将这一行替换为: OUTPUT_VARIABLE output
到此,所有的事情都工作正常了!