本文主要是介绍【转载】windows下Qt+codeblock 平台搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转自:http://blog.csdn.net/liu121068/article/details/7094373
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 等目录。
个人原创 不足之处请指出
这篇关于【转载】windows下Qt+codeblock 平台搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!