一、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 1002一.C语言中的const ... -
error LNK2005 and error LNK2019
2012-08-09 23:08 1181error LNK2005 and error LNK2019 ... -
LIBCD.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSV
2012-08-07 09:20 1449LIBCD.lib(crt0dat.obj) : error ... -
在VS2010下配置VC++ Directories
2012-08-07 08:29 11081:可以 在“class View” 面板 -> 右 ... -
零星笔记,待整理
2010-11-01 13:00 511//用 getline 函数从输入读取整行内容。然后为 ... -
VC: error LNK2019:unresolved external symbol *** referenced in function ***的解决方案
2010-10-30 21:13 2146当头文件中声明了一个函数,但是在相应的源文件中却没有对该函数进 ... -
stdcall cdecl fastcall thiscall naked call的具体含义
2010-10-30 18:54 987在C语言中,假设我们有 ... -
#define总结 (网上资料汇集)
2010-10-30 08:06 7461. 定义简单的常数:定义常量,便于修改(切不可在后面加上分号 ... -
strcat 内部实现
2010-09-21 00:43 1834char * strcat(char * dest, ... -
deep copy & shallow copy
2010-09-15 19:27 854A shallow copy of an object cop ... -
reinterpret_cast的本质(转)
2010-09-14 23:15 1648先看看下面的代码: #include <iostr ... -
C++ 经典书籍
2010-09-14 16:18 1727下载地址: http://www.51cnnet.net/di ... -
内存对齐的规则以及作用
2010-09-14 00:14 711首先由一个程序引入话 ... -
[转]C++ reinterpret_cast,const_cast等 显式类型转换总结
2010-09-13 23:23 1057#include<iostream.h> ... -
C++提供了四种新的类型强制
2010-09-13 23:13 724static_cast const_cast reinte ... -
C++著名程序库的比较和学习经验
2010-09-13 19:30 8691、C++各大有名库的介绍——C++标准库 2、C++各大有名 ... -
c++ library and resource List
2010-09-13 18:56 9351,前言 无数次听 ... -
C++中操作符operator的两种用法
2010-09-12 02:23 11501.operator overloading C++可能通过o ... -
两种自动类型转换:构造函数与operator
2010-09-12 02:23 934如果有两个对象:one, two, 要想把one转换成为two ... -
C++中的类拷贝构造函数和模板拷贝构造函数
2010-09-11 20:53 3041类(包括模板类)构造函数是真实的构造函数;然而模板构造函数,其 ...
相关推荐
Visual Studio安装和配置 Visual Studio 是一款功能强大的集成开发环境(Integrated Development ...通过了解 Visual Studio 2008 的安装和配置,开发者可以更好地使用 Visual Studio 2008 实现软件开发和测试。
### Visual Studio 2008 快捷键大全 #### 概述 在软件开发过程中,提高工作效率是非常重要的。Visual Studio 2008(简称 VS 2008)作为一款功能强大的集成开发环境(IDE),提供了丰富的快捷键设置,帮助开发者更...
《Visual C++编程基础与实践——基于"zz.rar"案例解析》 Visual C++作为Microsoft公司推出的集成开发环境,是Windows平台上进行C++程序开发的重要工具。它集成了编译器、调试器以及资源编辑器等,使得C++开发者能够...
本文旨在详细介绍如何将QT 5.5.1与Visual Studio 2013进行有效集成,并配置相关环境以便于开发人员能够顺利地使用QT进行跨平台应用程序的开发。在开始之前,我们先来了解一下本次配置的主要组成部分: - **QT版本**...
本项目以"使用Qt开发的微信聊天界面"为主题,旨在教授如何利用Qt来构建类似微信的聊天应用,涵盖单播、组播和文件传输等功能。 首先,我们来看登录界面的设计。在`login.jpg`中展示的登录界面,开发者可能使用了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
在本项目中,我们主要探讨的是如何利用VC++6.0或Visual Studio开发环境来创建一个基于MFC(Microsoft Foundation Classes)的单文档应用程序,并实现一个功能:根据用户输入的点坐标绘制多边形,然后使用有效边表法...
本篇文章将深入探讨如何使用Qt来实现这一功能。 首先,理解“椭圆坐标”是非常关键的。在地理坐标系统中,我们通常使用的是基于地球椭球体的投影坐标,如WGS84,这是一个近似地球形状的椭圆模型。因此,计算地理...
《DT_ZZ_optimized - MetaTrader 4脚本:深入解析与优化技术》 MetaTrader 4(MT4)是一款广泛应用于外汇、期货和股票交易的交易平台,它提供了丰富的技术分析工具和自动化交易功能。在MT4平台中,用户可以编写...
(1)使用VC++6.0或Visual studio 建立一个单文档的空项目。 (2)使用中点法完成直线的扫描转换,可以画出任意斜率的直线。 (3)使用对话框机制,输入直线的起点,终点坐标,进行直线反走样绘制。
在这个已经编译好的NTL静态链接库中,用户可以直接使用预编译的库文件,无需自行编译源代码,简化了项目集成过程。 首先,我们要理解什么是静态链接库。静态链接库是将库函数编译进目标程序中,使得程序运行时不再...
7. 使用编译命令(如`arm-none-eabi-gcc`)进行编译和链接,生成`.elf`文件。 8. 使用工具(如`arm-none-eabi-objcopy`)将`.elf`转换为`.hex`或`.bin`,便于烧录到STM32F103的闪存中。 在压缩包中,提供的文件可能...
根据所提供的信息,标题中提到的知识点是使用OpenCV库在Visual Studio 2008环境下实现目标跟踪和行人检测。接下来将详细阐述与这些关键词相关的关键知识点。 OpenCV是一个开源的计算机视觉和机器学习软件库,它提供...
在处理Python与C++交互的场景下,如使用numpy、scipy、matplotlib等科学计算或数据可视化的库,或者使用pybind11进行C++扩展的开发,都可能需要Microsoft Visual C++的编译环境。通过安装"visualcppbuildtools_full....
4. **使用NTL函数**:现在,你可以直接调用NTL库提供的函数进行计算。例如,使用NTL的大整数类型`ZZ`,你可以创建一个大整数对象,然后进行加法、减法、乘法等操作。 5. **编译与运行**:最后,编译并运行你的程序...
在Qt编程中,键盘事件是用户与应用程序交互的重要方式之一。`Qt`提供了一系列的键盘事件处理函数,使得开发者能够捕获并响应用户的键盘输入。本文将深入探讨`Qt`中的键盘事件,以及如何利用`keyPressEvent()`和`...
**Qt多线程基础** Qt库提供了一套强大的多线程机制,允许开发者在应用程序中同时执行多个任务,提高程序的响应性和效率。在给定的"Qt多线程简单实例"中,我们关注的核心是如何创建和管理线程,以及如何通过用户交互...
接下来,我们将详细介绍如何使用本地编译配置并编译Apache,然后利用之前构建的交叉编译环境进行交叉编译,并在过程中使用特定的技巧来替换某些文件以确保SSL模块被正确集成。这些步骤将包括但不限于设置环境变量、...
### OPENCV目标跟踪VS2008基于OpenCV编写运动...综上所述,基于Visual Studio 2008和OpenCV实现运动目标检测与跟踪是一项非常有意义的工作,它不仅能够加深我们对计算机视觉技术的理解,还能为实际应用提供技术支持。