VS2010 + Cmake + Qt4.8 简单的环境搭建实例。
2016-01-12 10:46
435 查看
很多人都用的Qt Creator进行开发, creator 确实很方便, 但调试起来,还是没有vs快捷。
cmake 实用于较为大型的项目的开始, 而且与vs组合, 更是功能强大, 加上比creator方便的调试优势,还是很不错的一个选择。
由于近一两年接触的几个项目, 都是用vs2010 + qt4.8 + cmake 进行的框架搭建, 所以总结了一些方法, 也感受到了, 它大型项目中,所起的巨大作用。 它能够把项目源码和编译的内容模块, 全部分开, 使结构很清晰。
下面讲一讲最简单的Qt4.8 + vs2010 + cmake环境的搭建。 一个最简单的实例:
1. 安装cmake。 在网上可以找到cmake安装包进行下载, 并安装。
2.vs 2010 的安装。
3.QT4.8 源码的编译。 最后,还需要添加环境变量。
4.在一个目录下面放最简单的五个文件,比如我用的例子 CMakeLists.txt cmakeqtvs.cpp cmakeqtvs.h cmakeqtvs.ui main.cpp
CMakeLists.txt这个是必须的,而名字也必须一样。
我这里面的内容为:
cmake_minimum_required (VERSION 2.6 FATAL_ERROR)
project (cmake_qt_vs_test)
find_package (Qt4 REQUIRED)
set (in ${PROJECT_SOURCE_DIR})
include_directories (${in})
set (project_SOURCES main.cpp cmakeqtvs.cpp)
set (project_HEADERS cmakeqtvs.h)
set (project_FORMS cmakeqtvs.ui)
QT4_WRAP_CPP (project_HEADERS_MOC ${project_HEADERS})
QT4_WRAP_UI (project_FORMS_HEADERS ${project_FORMS})
INCLUDE (${QT_USE_FILE})
ADD_DEFINITIONS (${QT_DEFINITIONS})
ADD_EXECUTABLE (cmake_qt_vs_test ${project_SOURCES}
${project_FORMS_HEADERS}
${project_HEADERS_MOC})
TARGET_LINK_LIBRARIES (cmake_qt_vs_test ${QT_LIBRARIES})
上面的脚本为一个环境配置, 包括cmake最小版本, QT库的添加, sourc, header, forms文件的存放。
cmakeqtvs.cpp cmakeqtvs.h cmakeqtvs.ui main.cpp 由于是测试, 这几个文件可以自己手动写, 也可以直接通过creator生成,
再拷贝过来。 值得一值的是, 原来cmakeqtvs.cpp中的头文件, 是#include "ui_cmakeqtvs.h" 现在要改成你现在cmake之后所选路径,我这里是#include "build/ui_cmakeqtvs.h"
我这里的目录结构为:
其中build是在后面生成的, 而且build是在CmakeQtVs这个目录下面, 这样#include "build/ui_cmakeqtvs.h" 包含这个头文件之后,才能找到。 在没有打开cmake之前, 是不需要建build目录的。
5.打开cmake
最上面那两个选择输入框, 第一个是选择源码所在位置, 第二个选择是项目构建所在位置。 我这里把构建,放在源码目录下面,再建 了一个build目录, 也为了头文件好找到后面自动生成的ui_cmakeqtvs.h文件。
配好路径之后, 再分别单击Configure 和 Generate , 只要没有报红色的错识提示就算环境搭建正确。
打开自动生成 的build文件下面的,cmake_qt_vs_test.sln , 进行生新生成后,会有下面些文件:
然后, 如果编译调试没有出现问题, 那么一个简单的cmake + vs2010 + qt4.8的编译环境算是搭建起来了。
cmake 实用于较为大型的项目的开始, 而且与vs组合, 更是功能强大, 加上比creator方便的调试优势,还是很不错的一个选择。
由于近一两年接触的几个项目, 都是用vs2010 + qt4.8 + cmake 进行的框架搭建, 所以总结了一些方法, 也感受到了, 它大型项目中,所起的巨大作用。 它能够把项目源码和编译的内容模块, 全部分开, 使结构很清晰。
下面讲一讲最简单的Qt4.8 + vs2010 + cmake环境的搭建。 一个最简单的实例:
1. 安装cmake。 在网上可以找到cmake安装包进行下载, 并安装。
2.vs 2010 的安装。
3.QT4.8 源码的编译。 最后,还需要添加环境变量。
4.在一个目录下面放最简单的五个文件,比如我用的例子 CMakeLists.txt cmakeqtvs.cpp cmakeqtvs.h cmakeqtvs.ui main.cpp
CMakeLists.txt这个是必须的,而名字也必须一样。
我这里面的内容为:
cmake_minimum_required (VERSION 2.6 FATAL_ERROR)
project (cmake_qt_vs_test)
find_package (Qt4 REQUIRED)
set (in ${PROJECT_SOURCE_DIR})
include_directories (${in})
set (project_SOURCES main.cpp cmakeqtvs.cpp)
set (project_HEADERS cmakeqtvs.h)
set (project_FORMS cmakeqtvs.ui)
QT4_WRAP_CPP (project_HEADERS_MOC ${project_HEADERS})
QT4_WRAP_UI (project_FORMS_HEADERS ${project_FORMS})
INCLUDE (${QT_USE_FILE})
ADD_DEFINITIONS (${QT_DEFINITIONS})
ADD_EXECUTABLE (cmake_qt_vs_test ${project_SOURCES}
${project_FORMS_HEADERS}
${project_HEADERS_MOC})
TARGET_LINK_LIBRARIES (cmake_qt_vs_test ${QT_LIBRARIES})
上面的脚本为一个环境配置, 包括cmake最小版本, QT库的添加, sourc, header, forms文件的存放。
cmakeqtvs.cpp cmakeqtvs.h cmakeqtvs.ui main.cpp 由于是测试, 这几个文件可以自己手动写, 也可以直接通过creator生成,
再拷贝过来。 值得一值的是, 原来cmakeqtvs.cpp中的头文件, 是#include "ui_cmakeqtvs.h" 现在要改成你现在cmake之后所选路径,我这里是#include "build/ui_cmakeqtvs.h"
我这里的目录结构为:
其中build是在后面生成的, 而且build是在CmakeQtVs这个目录下面, 这样#include "build/ui_cmakeqtvs.h" 包含这个头文件之后,才能找到。 在没有打开cmake之前, 是不需要建build目录的。
5.打开cmake
最上面那两个选择输入框, 第一个是选择源码所在位置, 第二个选择是项目构建所在位置。 我这里把构建,放在源码目录下面,再建 了一个build目录, 也为了头文件好找到后面自动生成的ui_cmakeqtvs.h文件。
配好路径之后, 再分别单击Configure 和 Generate , 只要没有报红色的错识提示就算环境搭建正确。
打开自动生成 的build文件下面的,cmake_qt_vs_test.sln , 进行生新生成后,会有下面些文件:
然后, 如果编译调试没有出现问题, 那么一个简单的cmake + vs2010 + qt4.8的编译环境算是搭建起来了。
相关文章推荐
- Qt使用教程之创建移动应用程序(三)
- Qt学习:再次理解隐式共享
- Qt 常用命令,宏,pro文件格式
- QTGraphicsViewFramework学习
- Qt 下载地址
- QTextEdit使用总结
- QT creator 中添加gstreamer动态库
- 三兄弟GETRO、GETTO、SETTO各显神通
- PyQt 4 显示多幅图像,并编辑打包
- Qt5.5显示图片
- QT移植之:Checking for libz... Configure:error: not found. Check your installation and look into config.
- QT移植之:Checking for libz... Configure:error: not found. Check your installation and look into config.
- Qt4----子例化QDialog(可扩展对话框的使用)
- QT 中文转成Unicode 字符显示 \uxxxx
- Qt4 inputpanel 升级改造
- 我写的一个 Qt 显示图片的控件
- Qt学习(17)
- [Qt]界面显示效果之卷轴
- 如何在QT里使用Maliit软键盘
- VS2013+QT5.5 中文乱码问题 解决方案