windows下Qt+codeblock 平台搭建

2 篇文章 0 订阅
1 篇文章 0 订阅
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 等目录。

个人原创 不足之处请指出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值