您的位置:首页 > 编程语言 > Qt开发

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 等目录。

个人原创 不足之处请指出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: