## 4.5 问题与解答
问:我使用 Qt 4.5 和 Visual Studio 2008。我在编译 Qt 4.5 时总有提示:没有包 含:"windows.h",然后就无法进行 configure,请指教是什么问题。
答:这通常是 Visual Studio 没有安装完全的缘故。你需要完整的卸载 Visual Studio 2008,再重新安装完全版本,然后再编译 Qt 就应该没有错误了。如果习惯的话, 使用英文版 Visual Studio 更好。
问:Qt4.5 + visual studio 2008 中文版的问题。我安装好后,打开 Qt 的 Example, 编译的时候报错误,错误提示如下:
```
>------ Build started: Project: calculatorform, Configuration: Debug Win32 ------
>UIC calculatorform.ui
>Moc'ing calculatorform.h...
>Compiling...
>main.cpp
>calculatorform.cpp
>Generating Code...
>Linking...
>LINK : fatal error LNK1181: cannot open input file 'QtCored4.lib'
```
请帮忙解决。
答:从错误信息上推断,应该是安装过程出了问题。有几个关键地方需要注意,一是 安装 Visual Studio 时如果是中文版,要打上补丁 SP1;二是安装 Visual Studio 要完 整;三是不要安装 mingw,要使用 Visual Studio 编译 Qt;四是注意配置环境变量。五是 注意安装好集成插件。
问:可否实现在 Linux 下编译 Windows 环境下用 Qt + Visual Studio 2008 创建的工程?
答:这是可以实现的。步骤如下:
第 1 步,生成 .pro 文件。
第 2 步,在 pro 文件里面加宏 DEFINES += Linux 。
第 3 步,把整个工程拷贝到 Linux 机器上。
第 4 步,在命令行下面执行:
```
qmake -makefile xxx.pro
```
生成 Makefile 文件。
第 5 步,在命令行下面运行 make 命令,生成可执行文件。 问:Visual Studio 2005 每次调试都重新执行 moc
我的 Visual Studio 2005 没有修改任何文件, 但每次调试都会重新 moc, 非常麻烦。 不知是什么原因,请指教。
答:这个与 Qt 关系不大,是 Visual Studio 的缘故。通常是由于在你的工程中,有的 文件时间设置系统时间要靠后,就是晚了。重新调整一下时间即可。
问:Qt 4.5 与 Visual Studio 集成时候出错
我将 Qt 4.5 与 Visual Studio 2005 结合使用,在执行 nmake 后,安装了 qt-vs- addin-1.0.0.exe 这个软件。但是随后打开 VS 2005 时,出现如图 4-17 所示的提示信息。
![](https://box.kancloud.cn/2016-01-22_56a1a1470bf47.png)
图 4-17 提示信息
然后在 Visual Studio 2005 的界面上 Qt 菜单下面没有任何的下拉菜单内容,如图 4- 18 所示。不知道是什么原因,请帮助解决一下。
![](https://box.kancloud.cn/2016-01-22_56a1a147298d2.png)
图 4-18 Qt 菜单式空白的
答:你使用的是中文版的 Visual Studio,所以你需要在安装 Visual Studio 时,同时安装上它的补丁 SP1,这样就不会出现图 4-17 所示的那个问题了,或者干脆使用英文版的Visual Studio。然后使用本章中的步骤把 Qt 与 Visual Studio 结合起来使用。有条件的 话,也可以使用 qt-vs-integration 这个系列的集成插件,它更为稳定一些。
问:我想在 Visual Studio 2008 中直接打开.ui 文件,而不是使用 Qt Designer,如 何办到?
答:这与你使用的集成插件版本有关。
到目前发布的 Qt 4.5.2 为止,如果在安装时使用的是 qt-vs-integration 就可以在 Visual Studio 2008 或者是 2005 中打开.ui 文件,但是 qt-vs-integration 这个软件不是 Open Source 的,需要有商业 license 才可以;如果使用的集成插件是 qt-vs-addin,这个 是 Open Source 的,但是在 Visual Studio 中就只能使用 Qt Designer 打开.ui 文件。
也就是说,在商业版本的 Qt 中,与 Visual Studio 结合起来使用,是可以无缝集成 的。而在 Open Source 版本的 Qt 中,与 Visual Studio 的集成使用是有一定限制的。
从 Qt Software 发布的 Qt Road Map 中可以推测,在 Qt 4.6 中这一情况有望得到改 善,即商业版和开源版 Qt 都可以与 Visual Studio 系列无缝集成。
- 第 1 章 走近 Qt
- 1.1 Qt 简介
- 1.2 Qt 纪事概览
- 1.3 Qt 套件的组成(以 Qt4.5 为准)
- 1.4 Qt 的授权
- 1.5 Qt 的产品
- 1.6 Qt 的服务与支持
- 1.7 Qt 的最新进展
- 1.8为什么选择 Qt
- 1.9 问题与解答
- 1.10 总结与提高
- 第 2 章 Qt 的安装与配置
- 2.1 获取 Qt
- 2.2 协议说明
- 2.3 安装 Qt
- 2.4 配置 Qt4 环境
- 2.5 问题与解答
- 2.6 总结与提高
- 第 3 章 Qt 编程基础
- 3.1 标准 C++精讲
- 3.2 Windows 编程基础
- 3.3 Linux 编程基础
- 3.4 Mac 编程基础
- 3.5 问题与解答
- 3.6 总结与提高
- 第 4 章 Qt 4 集成开发环境
- 4.1 常见的 Qt IDE
- 4.2 Qt Creator
- 4.3 Eclipse
- 4.5 问题与解答
- 4.6 总结与提高
- 第 5 章 使用 Qt 基本 GUI 工具
- 5.1 使用 Qt Designer 进行 GUI 设计
- 5.2 使用 Qt Assistant 获取在线文档与帮助
- 5.3 使用 Qt Demo 学习 Qt 应用程序开发
- 5.4 问题与解答
- 5.5 总结与提高
- 第 6 章 Qt 4 程序开发方法和流程
- 6.1 开发方法
- 6.2 Hello Qt
- 6.3 几个重要的知识点
- 6.4 问题与解答
- 6.5 总结与提高
- 第 7 章 对话框
- 7.1 QDialog 类
- 7.2 子类化 QDialog
- 7.3 快速设计对话框
- 7.4 常见内建(built in)对话框的使用
- 7.5 模态对话框与非模态对话框
- 7.6 问题与解答
- 7.7 总结与提高
- 第 8 章 主窗口
- 8.1 主窗口框架
- 8.2 创建主窗口的方法和流程
- 8.3 代码创建主窗口
- 8.4 使用 Qt Designer 创建主窗口
- 8.5 中心窗口部件专题
- 8.6 Qt4 资源系统专题
- 8.7 锚接窗口
- 8.8 多文档
- 8.9 问题与解答
- 8.10 总结与提高
- 第 9 章 Qt 样式表与应用程序观感
- 9.1 应用程序的观感
- 9.2 QStyle 类的使用
- 9.3 样式表概述
- 9.4 使用样式表
- 9.5 问题与解答
- 9.6 总结与提高
- 第 10 章 在程序中使用.ui 文件
- 10.1 uic 的使用
- 10.2 Ui_YourFormName.h 文件的组成
- 10.3 编译时加入处理.ui 文件的方法
- 10.4 运行时加入处理.ui 文件的方法
- 10.5 信号与槽的自动连接
- 10.6 问题与解答
- 10.7 总结与提高 本章主要讲解了以下内容:
- 第 11 章 布局管理
- 11.1 基本概念和方法
- 11.2在 Qt Designer 中使用布局
- 11.3 基本布局实践
- 11.4 堆栈布局
- 11.5 分裂器布局
- 11.6 自定义布局管理器
- 11.7 布局管理经验总结
- 11.8 问题与解答
- 11.9 总结与提高
- 第 12 章 使用 Qt Creator
- 12.1 Qt Creator 概览
- 12.2 Qt Creator 的组成
- 12.3 快捷键和常用技巧
- 12.4 Qt Creator 构建系统的设置
- 12.5 处理项目间依赖关系( Dependencies )
- 12.6 Qt 多版本共存时的管理
- 12.7 使用定位器在代码间快速导航
- 12.8 如何创建一个项目
- 12.9 实例讲解
- 12.10 使用 Qt Creator 调试程序
- 12.11 问题与解答
- 12.12 总结与提高
- 第 13 章 Qt 核心机制与原理
- 13.1 Qt 对标准 C++的扩展
- 13.2 信号与槽
- 13.3 元对象系统
- 13.4 Qt 的架构
- 13.5 Qt 的事件模型
- 13.6 构建 Qt 应用程序
- 13.7 总结与提高
- 附录 A qmake 使用指南
- A.1 qmake 简介
- A.2 使用 qmake
- 附录 B make 命令
- B.1 命令解释
- B.2 使用 make 自动构建
- 附录 C Qt 资源
- C.1Qt 官方资源
- C.2 Qt 开发社区