**# 从黑窗口到窗口程序的移植
移植前提条件就是程序在黑窗口中运行时正确的。
Qt
Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。
它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。
2008年,奇趣科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。 2012年,Qt被Digia收购。 2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP。
它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组件编程。
Qt的优势
- 优良的跨平台特性:
Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。 面向对象
Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
丰富的 API Qt 包括多达 250 个以上的 C++ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。
支持 2D/3D 图形渲染,支持 OpenGL
大量的开发文档
XML 支持。
打包可执行程序
将Qt项目设置为release模式
Ctrl+b将生成应用程序
找到可执行应用程序的位置
查看exe所依赖的动态库 可以将 C:\Hydra目录所有的文件拷贝 已经测试过可以直接利用 也可以使用工具depends不过有一些也不是能有效。
按照下图进行文件准备 
- 利用inno setup将打包的文件制作为exe
选择主要运行文件为C:\Hydra\t\qdict.exe
添加文件夹为C:\Hydra\t生成即可。
制作安装程序
nsis
将需要打包的文件夹先压缩为一个zip文件 然后交由该程序值作为可执行安装程序
-Inno setup
稍微复杂些许 但是功能更加强大