一、Qt版本
我现在用的是4.5.2。好像前段时间4.6出来了。。一直想找个轻量、好用、简单、快速的UI库。实话实说Qt也不是很满足我的要求,不过还是比较好用的,运行库打包10m左右,加壳压缩一下3~5m左右,也还是在接受范围之内。
二、Qt安装
下载的opensource的Qt安装包。
在win32平台下自带mingw,用gcc编译。可以配合Eclipse+CDT开发。。不过开发效率实在是。。唉。。。折腾了一段时间——放弃。
在linux平台下,有deb包下载的,好像。。我记得我是既从Ubuntn repos上down过,也自己手动下载安装过,但还是窘于IDE。唉,一说到是IDE阻止自己我就感觉脸红呀。
以上两类,Nokia都提供了预编译的包,安装后配置include和library即可。。很速度的。
在下载4.5的时候,看到下载链接下一行小字说opensource版的不支持visual studio。其实是可以的。下面粘下网上的方法:
QT与Visual Studio2008的集成2009年03月26日 星期四 12:49 P.M.
★第一步★
假设现在手头什么都没有,那么你至少要准备下面列举的这些东西.
★Qt (qt-sdk-win-opensource-2009.01.1.exe)
下载链接:http://www.qtsoftware.com/products
★VS2008(微软免费提供Express版本下载.只不过不是完全下载安装包,是在线安装的)
下载链接:http://www.microsoft.com/express/
★qt-vs-addin-1.0.0-rc1.exe(可选)
★qt-vsintegration-1.4.0.exe(可选)
★第二步★
1.安装Qt
2.设置环境变量:QTDIR为安装文件夹,PATH增加%QTDIR%\bin
注意:安装文件夹并非指定Qt安装之后的文件夹,而应该是Qt目录下的qt文件夹(拥有Makefile文件的)
3.「开始」菜单\程序\Microsoft Visual Studio 2008\Visual Studio Tools下面有一个Visual Studio 2008 Command Prompt.使用这个命令行,设定当前目录为QTDIR,然后运行命令:
configure -platform win32-msvc2008
这个过程可能持续20分钟左右.
4.继续运行命令:
nmake sub-src
注意:该命令只编译Qt库.如果需要全部的Qt包,不需要sub-src.
这个过程可能持续4个小时左右.
5.上一条命令可能在中间会有很多的warning.不用管,马上运行:
nmake clean
这条命令主要是去处临时文件,可以节省空间.
三、Qt4.5编译问题
如果是完全编译(寡nmake,而不是nmake sub-src)上面编译时会出现一个有过Webkit的错误,导致编译中断。
我记得是到3rdparty文件下Webkit下面的temp文件夹底下删个过时的moc开头的文件。。唉,忘记咯。等过两天编译4.6的时候看看这个问题还在不。
此外,还报过找不到xmlpatterns.exe的情况。重新nmake下xmlpatterns.exe就生成了。
四、在VS2008中新建Qt工程
先照抄网上的:
Qt与VS2008 Express集成
1)Fire it up, and go to “Tools > Options > Projects and Solutions > VC++ Directories”. Add “$(QTDIR)\include” to the “Include files”, and “$(QTDIR)\lib” to the “Library files” drop-down lists respectively.
2)Create a new project (”File > New > Project > General > Makefile Project”) named “HelloQt”.
3)Go to “Project > Properties > Configuration Properties > Nmake” and enter the following in the build command line “qmake -project && qmake && nmake release-all”. Also enter “release\HelloQt.exe” in the “Output” field. (You may enter corresponding debug versions here as well).
不过哦。感觉qmake还是蛮好用的。多看看手册,基本就可以满足需求咯。所以上面提到的那个qmake -project 我基本不加到命令里面的。
五、在Qt工程中导入其他库
两个方法
1)用qmake命令:qmake -tp vc,把上面建的Qt项目转成vs工程。可以看看qmake做了那些设置,然后以vs工程的方式加库。
2)手写Qt的pro文件。当然这样就得去掉(四)中的qmake -project。我推荐这个。
无论哪种方法,都有可能遇到下面的问题。
六、添加第三方库到Qt工程中遇到的问题
编译并扩展log4cplus后,log4cplus的单元测试都能通过,就是在添加到Qt工程中时老报error LNK2019: unresolved external symbol错误。。
我本来一直做Java的,C++忘的都差不多咯,所以我开始一直琢磨是不是自己lib文件没设对。都对,无解。
偶尔google到解法
BS下公司,不让连外网导致只能用百度开百度cache;BS下百度,又啥都没搜到。
下面是网上对该问题的解释:
“为什么会出现这种错误呢?是因为VC6以及VS2003在wchar_t内置的选项上默认为No,而VS2005在此选项上默认为Yes,我今天使用VS2005打开原来VS2003建立的BaseClass项目,使得选项为No,这样编译出来的基类库的选项就是No了。
然后,在使用VS2005新建DirectShow程序时,默认选项为Yes,这样程序与基类的选项就不一致了,在函数的参数涉及到wchar_t时,程序的链接会由于生成的名字不同而导致链接不上(同样是wchar_t,链接时lib文件的符号是不同的)。
弄清楚这个问题之后,此选项的选择就无所谓了,只要工程和Lib在该选项上一致即可。”
我猜老外的意思是修改了qmake.conf之后重新编译Qt库。我觉得吧,让wchar_t作为Build-in类型没啥意思。所以我选择不动Qt库,把自己项目的该选项置为No。主要自己项目比Qt小,重编译快。呵呵。
暂时就这些。。。。
发表评论
-
const 与static 关键词在c 和 c++中的作用
2012-08-11 11:49 967一.C语言中的const ... -
error LNK2005 and error LNK2019
2012-08-09 23:08 1097error LNK2005 and error LNK2019 ... -
LIBCD.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSV
2012-08-07 09:20 1384LIBCD.lib(crt0dat.obj) : error ... -
在VS2010下配置VC++ Directories
2012-08-07 08:29 10451:可以 在“class View” 面板 -> 右 ... -
零星笔记,待整理
2010-11-01 13:00 478//用 getline 函数从输入读取整行内容。然后为 ... -
VC: error LNK2019:unresolved external symbol *** referenced in function ***的解决方案
2010-10-30 21:13 2106当头文件中声明了一个函数,但是在相应的源文件中却没有对该函数进 ... -
stdcall cdecl fastcall thiscall naked call的具体含义
2010-10-30 18:54 959在C语言中,假设我们有 ... -
#define总结 (网上资料汇集)
2010-10-30 08:06 7161. 定义简单的常数:定义常量,便于修改(切不可在后面加上分号 ... -
strcat 内部实现
2010-09-21 00:43 1798char * strcat(char * dest, ... -
deep copy & shallow copy
2010-09-15 19:27 816A shallow copy of an object cop ... -
reinterpret_cast的本质(转)
2010-09-14 23:15 1612先看看下面的代码: #include <iostr ... -
C++ 经典书籍
2010-09-14 16:18 1684下载地址: http://www.51cnnet.net/di ... -
内存对齐的规则以及作用
2010-09-14 00:14 687首先由一个程序引入话 ... -
[转]C++ reinterpret_cast,const_cast等 显式类型转换总结
2010-09-13 23:23 1012#include<iostream.h> ... -
C++提供了四种新的类型强制
2010-09-13 23:13 684static_cast const_cast reinte ... -
C++著名程序库的比较和学习经验
2010-09-13 19:30 8221、C++各大有名库的介绍——C++标准库 2、C++各大有名 ... -
c++ library and resource List
2010-09-13 18:56 8971,前言 无数次听 ... -
C++中操作符operator的两种用法
2010-09-12 02:23 11161.operator overloading C++可能通过o ... -
两种自动类型转换:构造函数与operator
2010-09-12 02:23 889如果有两个对象:one, two, 要想把one转换成为two ... -
C++中的类拷贝构造函数和模板拷贝构造函数
2010-09-11 20:53 3002类(包括模板类)构造函数是真实的构造函数;然而模板构造函数,其 ...
相关推荐
它让我们不用去记住那些安装,环境变量设置,服务器设置,编译的繁琐过程。高度集成化。凡事有利有弊,在敏捷开发盛行的时代,VS是否值得我们使用是 无容置疑的。但是强大的VS也拥有众多的设置,众多的技巧。记住...
VisualStudio安装和配置zz[汇编].pdf
1.1 visual studio 2010:从express到ultimate的各种版本 4 1.2 visual basic的关键字和语法 7 1.2.1 控制台应用程序 10 1.2.2 从项目模板上创建项目 11 1.2.3 solution explorer窗口 13 1.2.4 项目属性 ...
使用Qt开发的微信聊天软件,单播,组播,文件传输,仅供学习使用哦
base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz
(1)使用VC++6.0或Visual studio 建立一个单文档的空项目。 (2)使用鼠标输入点的坐标,画出一个多边形。 (3)使用有效边表法完成多边形的扫描转换,给多边形填充随机颜色。
使用qt计算地理平面下椭圆坐标的 不规则、不封闭 多边形面积。
(1)使用VC++6.0或Visual studio 建立一个单文档的空项目。 (2)使用中点法完成直线的扫描转换,可以画出任意斜率的直线。 (3)使用对话框机制,输入直线的起点,终点坐标,进行直线反走样绘制。
一个简单的vc++案例,希望可以帮到大家
wincc SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 从面市伊始,用户就对SIMATIC WinCC印象深刻。
QT5.5.1
(4)培养自觉运用程序化思维分析问题、解决问题的习惯。 1、定义一个简单的文法,描述程序设计语言,包括变量说明语句、算术表示和赋值语句;可扩展包括逻辑布尔表达式、选择语句和循环语句等; 设计该文法的编译程序...
ZZ561401.CAB ZZ561401.CAB ZZ561401.CAB
ZZ-2021030 网络搭建与应用赛项赛卷《网络环境》.pdf
使用LoopSim方法,我们合并ZZ和ZZ + jet的NLO QCD结果,并获得ZZ产生的近似NNLO预测。 还包括对ZZ过程的精确胶子融合环平方的贡献。 最重要的是,我们将来自胶子-胶子通道的胶子-融合ZZ + jet贡献添加到我们的合并...
编译原理试卷 编译原理试卷 编译原理试卷
本书是《编译原理基础》(2002年2月出版,刘坚编著)的教学辅导书,内容包括两部分:习题解答,上机题与参考解决方案,并在附录中给出了源程序清单。 本书可以作为工科院校计算机专业或非计算机专业编译原理程课的...
本人制作的一个减半的noteexpress2 样式,按照国标的样式进行设计,可能英文的参考文献输出可能有误
Qt多线程循环打印数字0~9,知道按下“停止按钮”终止所有线程。
klot的DT_ZZ指标的优化变量。