此篇文章博主仅仅是想记录自己的一个错误,已备自己以后遗忘使用。
此前一直在windows8电脑上使用http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-windows-x86-msvc2013_opengl-5.4.1.exe这个版本的QT。但是此时程序又需要在win7上运行,无奈,只能在win7上安装qt环境。
之前没有注意到编译器的问题,使用上述版本在没有装编译器的win7上发现无法编译,最后无奈下载http://download.qt.io/official_releases/qt/5.4/5.4.1/qt-opensource-windows-x86-mingw491_opengl-5.4.1.exe此带有mingw编译器的qt版本。
装好此版本后遇到了几个奇葩的问题,先是出现了循环编译的问题,清理了缓存之后编程成功了,但是运行时提示“程序异常结束”。正在这时我又注意到opencv库的问题,我之前之用V12库文件,但是现在没有在vs下编译了,应该不能再使用opencv-v12了。
遂谷歌后发现,原来若使用mingw编译,要自己重新编译opencv-mingw库文件。遂使用http://www.cnblogs.com/listensong/p/4316944.html此大神公布的办法安装。
第一次使用cmake2.8生成makefile时出现了“Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x"当时以为是cmake版本问题,遂将cmake升级到了最新版也就是cmake3.2.2,但是此问题还是未解决。仔细观察错误后发现与findqt4.cmake有关。遂在cmake安装目录cmake/share/cmake-32-modules/下观察,发现此文件夹下无findqt5.cmake文件。
遂谷歌之,从谷歌上找到了此文件:http://svn.osgeo.org/ossim/trunk/ossim_package_support/cmake/CMakeModules/FindQt5.cmake
解决办法:
使用notepad打开findqt4.cmake文件,将http://svn.osgeo.org/ossim/trunk/ossim_package_support/cmake/CMakeModules/FindQt5.cmake文件内容复制到findqt4.cmake即可解决问题。