windows下Qt+codeblock 平台搭建
2011-12-22 10:19
155 查看
windows下 Qt4+code::blocks+MinGW 环境搭建
网上查资料+加个人实验 终于搭建好一个比较成功的Qt环境
首先安装code::blocks 我安装的版本是code::block 10.05 包含MinGW 的版本,
再安装Qt 安装过程中 会让选择MinGW 的安装路径
提示版本不符 果断确定
本人安装到C:\Qt\4.7.3目录下 同时将 C:\Qt\4.7.3\bin 加入环境变量
安装完就是 环境的搭建了
搭建过程中走了不少弯路,发现只要在code::blocks 新建工程中设置好就可以了
新建工程时 选择QT4 project
到选择qt的安装路径 在弹出的Global Variable Editor 中 base 输入Qt的安装路径”C:\Qt\4.7.3” include中选择Qt的include路径 “C:\Qt\4.7.3\include” lib 中 选择Qt的lib路径 “C:\Qt\4.7.3\lib”
然后一路确定就可以了。
工程新建好后 会自动新建main.cpp 包含代码
#include <QApplication>
#include <QFont>
#include <QPushButton>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton quit("Quit");
quit.resize(75, 30);
quit.setFont(QFont("Times", 18, QFont::Bold));
QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));
quit.show();
return app.exec();
}
这样就可以像 c 一样build +run 运行Qt程序了
如果在头文件加入 Q_OBJECT 或者 槽函数 编译将会出现错误
一般都是提示 “vtable for …….”
解决方法如下:
在头文件的Properties中(头文件上点右键)
Build选项卡 选择 Compile file
Advanced选项卡 选择 Use custom command to build this file:
输入 “moc.exe $file –o moc_$file_name.cpp”
再单独编译头文件(右键 Build file) 将生成的moc_*.cpp加入工程中 build+run 就可以了。
以上设置 基本解决了开始学Qt时的环境问题
再次出现问题是在 加入 #include<QtNetwork> 后出现的 提示 找不到头文件。
网上查资料说code::blocks 新建 qt4工程的时候只会检查include 和 include\QtGui下的头文件 其他头文件路径需要手动指定 原因找到 问题就好解决了。
在菜单Project->Build options Search directories 选项卡中 加入 QtNetwork 所在目录 “C:\Qt\4.7.3\include\QtNetwork” 由于加入网络功能 所以需要加入网络库, 在Linker setting选项卡中加入QtNetwork4 网络(加入Sql库操作类似)
再次 build+run 成功
新建工程时 自动加入路径的方法:
在code::blocks 安装目录下有 \share\CodeBlocks\templates\wizard\qt4\ wizard.script
此文件是新建qt4工程时所加载的脚本文件 (要修改请先做好备份)
用记事本打开 在95行有
project.AddIncludeDir(QtPathDefaultInc);
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtGui"));
//(注) QtPathDefaultInc <- _T("$(#qt4.include)");
//wxFILE_SEP_PATH路径分隔符(平台相关性)
这两条语句就解释了 为什么其他目录的头文件需要手动指定
自己添加类似语句
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtNetwork"));
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtCore"));
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtQpenGL"));
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtSql"));
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtMultimedia"));
再次新建工程 Build options 中果然有了C:\Qt\4.7.3\include\QtNetwork 等目录。
个人原创 不足之处请指出
网上查资料+加个人实验 终于搭建好一个比较成功的Qt环境
首先安装code::blocks 我安装的版本是code::block 10.05 包含MinGW 的版本,
再安装Qt 安装过程中 会让选择MinGW 的安装路径
提示版本不符 果断确定
本人安装到C:\Qt\4.7.3目录下 同时将 C:\Qt\4.7.3\bin 加入环境变量
安装完就是 环境的搭建了
搭建过程中走了不少弯路,发现只要在code::blocks 新建工程中设置好就可以了
新建工程时 选择QT4 project
到选择qt的安装路径 在弹出的Global Variable Editor 中 base 输入Qt的安装路径”C:\Qt\4.7.3” include中选择Qt的include路径 “C:\Qt\4.7.3\include” lib 中 选择Qt的lib路径 “C:\Qt\4.7.3\lib”
然后一路确定就可以了。
工程新建好后 会自动新建main.cpp 包含代码
#include <QApplication>
#include <QFont>
#include <QPushButton>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton quit("Quit");
quit.resize(75, 30);
quit.setFont(QFont("Times", 18, QFont::Bold));
QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));
quit.show();
return app.exec();
}
这样就可以像 c 一样build +run 运行Qt程序了
如果在头文件加入 Q_OBJECT 或者 槽函数 编译将会出现错误
一般都是提示 “vtable for …….”
解决方法如下:
在头文件的Properties中(头文件上点右键)
Build选项卡 选择 Compile file
Advanced选项卡 选择 Use custom command to build this file:
输入 “moc.exe $file –o moc_$file_name.cpp”
再单独编译头文件(右键 Build file) 将生成的moc_*.cpp加入工程中 build+run 就可以了。
以上设置 基本解决了开始学Qt时的环境问题
再次出现问题是在 加入 #include<QtNetwork> 后出现的 提示 找不到头文件。
网上查资料说code::blocks 新建 qt4工程的时候只会检查include 和 include\QtGui下的头文件 其他头文件路径需要手动指定 原因找到 问题就好解决了。
在菜单Project->Build options Search directories 选项卡中 加入 QtNetwork 所在目录 “C:\Qt\4.7.3\include\QtNetwork” 由于加入网络功能 所以需要加入网络库, 在Linker setting选项卡中加入QtNetwork4 网络(加入Sql库操作类似)
再次 build+run 成功
新建工程时 自动加入路径的方法:
在code::blocks 安装目录下有 \share\CodeBlocks\templates\wizard\qt4\ wizard.script
此文件是新建qt4工程时所加载的脚本文件 (要修改请先做好备份)
用记事本打开 在95行有
project.AddIncludeDir(QtPathDefaultInc);
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtGui"));
//(注) QtPathDefaultInc <- _T("$(#qt4.include)");
//wxFILE_SEP_PATH路径分隔符(平台相关性)
这两条语句就解释了 为什么其他目录的头文件需要手动指定
自己添加类似语句
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtNetwork"));
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtCore"));
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtQpenGL"));
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtSql"));
project.AddIncludeDir(QtPathDefaultInc + wxFILE_SEP_PATH + _T("QtMultimedia"));
再次新建工程 Build options 中果然有了C:\Qt\4.7.3\include\QtNetwork 等目录。
个人原创 不足之处请指出
相关文章推荐
- Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)
- Linux平台下搭建FTP服务器
- RocketMQ在linux平台下环境搭建
- Floodlight+Mininet的SDN实验平台搭建初探
- 利用免费云平台搭建属于自己的RSS推送器,完爆狗耳朵
- varnish加速器的原理和配置,varnish实现的负载均衡,cdn推送平台搭建
- VS2008 direct9.0 开发平台搭建————第一个D3D程序
- SCM软件配置管理 (二) SVN管理平台搭建以及详细设置
- Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)
- J2SDK(IDE) Java(JVM)平台的搭建及工具参数的配制
- wcf完美搭建android平台服务之一
- 南京地铁应用帆软报表搭建报表平台
- 图文详解mybatis+postgresql平台搭建步骤
- 在Windows平台下 搭建Mason运行环境
- LAMP平台搭建论坛
- Visual Studio 2013 搭建OpenGL平台
- Cocos2d-x环境搭建及平台移植、如何删除xcode里的cocos2d-x模板
- 《FPGA全程进阶---实战演练》第二章之硬件平台的搭建
- 搭建企业级大数据分析平台也可以很简单!
- .Net平台如何基于wsdl文件搭建虚拟WebService服务器进行跨平台服务调试?