http://blog.csdn.net/u011964923/article/details/52886908

configure -confirm-license -opensource -platform win32-msvc2015 -developer-build -shared -target xp -prefix "D:\Qt5.7.0-shared-win32-vs2015-xp" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -no-directwrite

为了解决的问题:QT动态编译得到的exe可执行文件,只能在本机运行。若直接复制到一台未安装QT的计算机上,肯定是无法运行的。

解决方法一:请参照我的另一篇博客QT程序 如何在未安装QT的电脑上运行,该方法仍然采用动态编译的方式,只是采用QT提供的windeployqt命令将可执行文件所需的动态链接库全给扒出来,然后放到可执行文件同一目录中,便可以拿到另外一台计算机上执行了。 缺点是:动态链接库太多,40MBit左右。

本文提供解决方法二:静态编译的方式:

本文假设您已成功安装 qt-opensource-windows-x86-msvc2013_64-5.7.0.exe 和 qt-vs-addin-1.25.exe(均可以在官网下载到)

【步骤1】在计算机上安装Python库和perl库(因为后续的静态编译需要用到这两种语言),可以在命令行敲击“python”和“perl -v”检查是否安装成功。

【步骤2】下载qt-everyshere-opensource-src-5.7.0-beta.zip 解压到 C:\FreqUsed\Qt\qt-everywhere-opensource-src-5.7.0-beta(按照自己习惯的路径解压)

【步骤3】打开 C:\FreqUsed\Qt\qt-everywhere-opensource-src-5.7.0-beta\qtbase\mkspecs\common\msvc-desktop.conf

QMAKE_CFLAGS_RELEASE = -O2 -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd

改为

QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MTd

即将MD改成MT,MDd改成MTd。动态改成静态

【步骤4】打开Visual Studio Tools中的 VS2013 开发人员命令提示,cd进入 C:\FreqUsed\Qt\qt-everywhere-opensource-src-5.7.0-beta

输入指令:

configure -confirm-license -opensource -platform win32-msvc2013 -debug-and-release -static -prefix "C:\FreqUsed\Qt\-static-vs2013" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples
configure -confirm-license -opensource -platform win32-msvc2015 -debug-and-release -static -prefix "D:\qt5-x86-static-vs2015" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples

回车等待1分钟左右

其中,"C:\FreqUsed\Qt\-static-vs2013"是我接下来把静态编译版本qt的安装目录

(这一步真是血淋淋的教训,我按照网上QT5.4.0的配置方法,区别为QT5.4.0配置代码最后有“-skip qtwebkit”。到了Qt5.7.0版本,这个qtwebkit早就被拿掉了,所以要去掉“-skip qtwebkit”。就因为这个,浪费了我一整天,时间就是金钱啊)

【步骤5】1分钟之后,命令行会提醒你nmake,那么我们键入nmake命令并回车,等待2至3个小时后,再输入nmake install,便可以发现"C:\FreqUsed\Qt\-static-vs2013"这个目录正在安装文件,等带10分钟后,安装完毕。

【Qt Creator下的配置】 在工具->选项中...添加QT Version和构建套件,然后建立工程即可。

【VS下Qt插件的配置】网上的配置方法太过复杂,且成功率很低。让我纠结了一个下午,突然灵光一现,下面是我的方法:

1、先利用Qt Creator建立一个static版本的工程,设计好界面之后,编译成功。

2、将静态编译debug或release文件夹下的 “工程名_plugin_import.cpp”,复制到工程的main文件同一目录下

3、用VS的QT5打开刚才建立的工程,qt setting设置为静态版本

4、编译成功

最新文章

  1. # PHP - 使用PHPMailer发邮件
  2. tomcat 设置jvm内存
  3. LoadRunner测试结果分析03 转载至zhangzhe的新浪博客
  4. Eclipse取消设置项目默认空间
  5. KVO
  6. string,const char*,char*之间的相互转换
  7. Unity网络斗地主 服务端
  8. ButterKnife 注解
  9. Sample rate 理解
  10. oc随笔五:NSArray
  11. Tesseract Ocr引擎
  12. 不断摸索发现用 andy 模拟器很不错,感觉跟真机差不多
  13. leetcode中Database题(一)
  14. Ceph: A Scalable, High-Performance Distributed File System译文
  15. Scrum 冲刺 第七日
  16. python_重写数组
  17. Linux下如何查看系统启动时间和运行时间以及安装时间
  18. 构建MHA实现MySQL高可用集群架构
  19. jquery判断是否是空对象 不含任何属性
  20. unity 中Canvas MatchHeight

热门文章

  1. 加减密 DES
  2. 使用JScript脚本批量修改VC工程设置
  3. WPF去除边框的方法
  4. 学习Hadoop和Spark的好的资源
  5. Gradle Android它自己的编译脚本教程的最新举措(提供demo源代码)
  6. zedboard之GPIO驱动器(离FPGA直到LINUX申请书)
  7. WPF中实现图片文件转换成Visual对象,Viewport3D对象转换成图片
  8. 使用batch批处理做目录及流程选择
  9. 三:Java之Applet
  10. matlab 二元函数的画法