使用VC2005编译真正的静态Qt程序】的更多相关文章

首先,你应该该知道什么叫静态引用编译.什么叫动态引用编译.我这里只是简单的提提,具体的可以google一下. 动态引用编译,是指相关的库,以dll的形式引用库.动态编译的Exe程序尺寸比较小,因为相关的库都没有包含进来.当然,程序发布的时候,还要把相关的库也一并发布出去. 静态引用编译,是指把相关的库也一并引入Exe文件.这是程序的尺寸就会很大,不过,程序发布就会变得简单很多. 其次,你可能会注意到我标题上写了“真正”这两个字.为什么我要强调真正这两个字呢?因为使用VC编译的C或者C++程序,都…
首先,你应该该知道什么叫静态引用编译.什么叫动态引用编译.我这里只是简单的提提,具体的可以google一下. 动态引用编译,是指相关的库,以dll的形式引用库.动态编译的Exe程序尺寸比较小,因为相关的库都没有包含进来.当然,程序发布的时候,还要把相关的库也一并发布出去. 静态引用编译,是指把相关的库也一并引入Exe文件.这是程序的尺寸就会很大,不过,程序发布就会变得简单很多. 其次,你可能会注意到我标题上写了“真正”这两个字.为什么我要强调真正这两个字呢?因为使用VC编译的C或者C++程序,都…
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们 所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时 就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,…
参考链接: MXE.>大多数程序都是在windows平台下开发的程序.windows 在现实中也是绕不过的一个系统平台,做为受过几年VC,MFC”虐待”的程序员,在做为一个程序员之前是一位Linux重度使用者,受够了MFC之后一直想要找一个框架替换,使用过GTK,wxWidgets,Qt,最后还是Qt用得多一些.我认为程序跨平台应该是一个基本标准,同一份代码不需改动,或者改动极少,放在不同的平台下编译就能使用.不同平台,同样的界面,同样的操作,同样的体验.这里要讲的是我如何在Linux 下开发跨…
一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序,这个程序在发给别人后,他们可以直接打开,而不需要特别地去先安装Qt库,那就需要采用静态编译了. 在Linux下如何静态编译Qt程序呢? 首先需要先安装静态编译的Qt,也就是静态编译Qt程序首先是需要一个静态编译安装的Qt   1.下载源安装程序,如 qt-x11-opensource-src-4.…
一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序,这个程序在发给别人后,他们可以直接打开,而不需要特别地去先安装Qt库,那就需要采用静态编译了. 在Linux下如何静态编译Qt程序呢? 首先需要先安装静态编译的Qt,也就是静态编译Qt程序首先是需要一个静态编译安装的Qt   1.下载源安装程序,如 qt-x11-opensource-src-4.…
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,上网查…
简述 前两节讲解了如何在Visual Studio和Qt Creator中搭建Qt开发环境,并分享了我们第一个小程序-Hello World. 下面分享如何使用命令行来编译Qt程序.当然,MSVC和MinGW的配置和编译过程相差无几. 简述 编译Qt程序 注意事项 编译Qt程序 1.新建一个”HelloWorld.cpp”文件,编写代码: #include <QApplication> #include <QLabel> int main(int argc,char **argv)…
本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.安装FTP:sudo apt-get install vsftpd 2.配置FTP,修改,/etc/vsftpd.conf #write_enable=YES 去掉#号 重启ftp服务,sudo service vsftpd restart 3.安装qt4,sudo apt-get install gcc g++ qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-design…
一.编写 Hello World Gui程序 Hello World程序就是让应用程序显示"Hello World"字符串.这是最简单的应用,但却包含了一个应用程序的基本要素,所以一般使用它来演示程序的创建过程.本节要讲的就是在Qt Creator中创建一个图形用户界面的项目,来生成一个可以显示"Hello World"字符串的程序. 1.1 新建 Qt Gui 应用 (1)运行 QtCreator,打开"文件一新建文件或项目"菜单项(也可以直接…
Qt程序编译运行很简单,利用Qt提供的qmake工具可以很好的进行编译,在命令行输入一下编译过程:qmake -project    //声称项目文件(*.pro)qmake             //生成Makefile文件make              //生成可执行文件./helloworld      //执行程序 ===================== 如果用ARM编译器,将qmake中编译器改成ARM即可…
自从CMake被引入到KDE项目的编译系统中后,CMake的使用者日益增多,Qt也不例外,除了使用QMAKE编译Qt程序外,也可以使用CMake来编译Qt程序,并且CMake在使用上更灵活,特别是大型程序. CMake对于Qt4和Qt5都支持,不过使用上有点差异,这里主要看下Qt5下使用CMake编译Qt程序. 官方文档链接: http://qt-project.org/doc/qt-5.0/qtdoc/cmake-manual.html 这里是针对CMake 2.8.9版本以及之后的版本. 对…
今天给大家讲解一下Cmake如何编译Qt程序. 这里说的Qt程序不只是用QtCreator写出来的程序,当然也可以是文本编辑器….这里说的Qt程序是指,QCoreApplication,QApplication( QMainWindow,QWidget,QDialogue)类型的程序. CMake是一个跨平台的非常通用的于编译器,用cmake命令可以生产出makefile,在利用make编译程序,这里不多说了,大家比较了解.当然首先得有CMakeLists.txt,我们手动建立一个.txt文件或…
code[class*="language-"], pre[class*="language-"] { color: rgba(51, 51, 51, 1); font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; text-align: left; white-space: pre; word-spacing: normal; word-break: normal…
转载:http://www.cnblogs.com/Fan_Fan/archive/2010/05/29/1746860.html QT程序在windows下部署发布 以下包括了部分网上收集的,以及qt帮助里的内容(Deploying an Application on Qt/Windows) 首先,打开windows控制台,然后,找到vs安装目录下的bin里,执行 vcvars32.bat 这个脚本.执行完之后,vs需要的所有环境变量就已经设置好了. 我的环境是QT 4.3.3 + mingw…
原文请看:http://www.cnblogs.com/javaexam2/archive/2011/05/18/2632916.html 关于在windows下部署发布QT程序的总结 2008-06-01 15:18 以下包括了部分网上收集的,以及qt帮助里的内容(Deploying an Application on Qt/Windows) 部署发布QT程序有两种方法:第一种,静态编译,可生成单一的可执行文件.第二种,动态编译,需同时附上需要的dll文件. 一.静态编译 1 编译QT.要静态…
因项目需要,可能有不同版本的qt程序要运行到同一台机器上,本次实验是qt4.8.5和qt5.3.1开发的程序同时运行在同一台机器上,此机器可以不按照qt的任何版本,当然,两个版本开发的qt与机器的位数必须一样,例如都是32位或者64位. 两个版本的qt的程序我都采用动态编译(静态编译方法请度娘),所以需要把运行程序所需的动态库放到程序可以链接的地方,程序可以链接的动态库路径参见:linux动态库搜索路径.此处直接贴出结论:动态库的搜索路径搜索的先后顺序是: 1.编译目标代码时指定的动态库搜索路径…
1.  概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装文件. QT开发的程序发布的时候经常采用两种方式: l  静态编译,可生成单一的可执行文件. l  动态编译,需同时附上需要的dll文件. 2.  发布准备 不管采用哪种方式,首先我们要把项目的发布做一些准备,例如:准备程序的图标,将项目编译成release等.   2.1. 设置程序图标 应用程序…
原文请看:http://www.cnblogs.com/elect-fans/archive/2012/03/15/2408579.html Qt 程序在Windows下发布是本文要介绍的内容,不多说了,先来看内容,针对这个问题,其实 Qt 的 manual 中解释的已经比较清楚了.下面是我根据自己的理解和实验后写的东西,希望比Qt文档容易理解一点. 下面不涉及静态编译(静态编译可以看看这儿),只包含动态编译(也就是Qt默认的情况),主要又分 mingw 和 msvc 两种情况: Mingw 首…
---恢复内容开始--- 我们用QT开发好的应用程序,如果要发布到其他计算机上运行怎么办呢?我们在用VC编程时,单独运行编译好的可执行文件时,经常会发现提示缺少动态库.用QT编程也不例外,在一定程度上,编写好的QT程序会依赖一些动态链接库,包括MSVC运行库,已经QT自身的一些动态链接库.这是由于程序在编译时采用了动态链接的原因.如果我们在编译初期,就设置为静态编译,那么就不会出现这种情况了.动态链接机制是程序开发的一把双刃剑. 既然问题出现了,我们想着解决的办法.很自然的一种想法就是,程序需要…
# PC:Ubuntu18.04# GCC: arm-linux-gnueabihf- 7.4.0# 开发板:# imx6ull+debian10(文件系统为野火提供的) # 此处需要编译的是带gstreamer的qt 静态库,仅着重说明安装gstreamer的库,忽略其他工具的安装# 参考:太多,忘了大部分https://wiki.qt.io/RaspberryPi2EGLFS# #期间PC端安装了同样的库,但好像没什么用# 开发板安装gstreamer相关库,还安装了其他库(试错太多,忘了)…
1.  概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装文件. QT开发的程序发布的时候经常采用两种方式: l  静态编译,可生成单一的可执行文件. l  动态编译,需同时附上需要的dll文件. 2.  发布准备 不管采用哪种方式,首先我们要把项目的发布做一些准备,例如:准备程序的图标,将项目编译成release等.   2.1. 设置程序图标 应用程序…
参考文章:http://blog.csdn.net/jiang1013nan/article/details/6667871 http://my.oschina.net/zjlaobusi/blog/138983 问题:为了方便Qt程序的开发,我采用的是在windows下编写好程序,然后在linux中编译再下载到开发板中运行的方式,程序的调试信息通过串口输出到windows下的secureCRT.其中windows中的Qt版本为5.3,linux及开发板中的Qt版本为4.8.5.由于linux系…
最近发现了一个非常恼人的程序deployment的问题,估计大家有可能也会遇到,特此memo. 问题的出现我觉得主要还是微软搞的花头太多, 一个不知所谓的manifest文件让本来简单的程序发布变得困难重重. 找了找关于manifest的介绍,貌似这个文件是用来描述程序或者库的依赖关系, 特别是对程序依赖的版本进行描述, 这样系统可以通过manifest的内容找到正确的库版本. 理论上讲这个dd确实是不错, 可以解决版本不兼容的问题, 保证程序运行的时候用的是指定版本的库. 不过实际操作起来麻烦…
在windows下编译好的QT程序在其他没有安装QT的机器上会出现图标和图片无法正常显示的问题. 这时我们可以通过以下方式来解决: 在release文件夹里创建plugins文件夹,并将QT安装目录下的plugins\imageformats文件夹复制到release\plugins文件夹(imageformats文件夹包含了许多图片格式的插件,如jpeg等). 然后最重要的一步是在main.cpp中添加以下语句 QApplication::addLibraryPath("./plugins&q…
最近开始学习CMake,因为项目需求需要用到Qt,自带的qmake会出现许多问题(比如文件修改之后有时候qmake不会侦测到不会重新编译,需要手动去编译等),于是开始尝试使用CMake来编写Qt程序,顺便学习一下怎么用CMake来使用find_package,也算给自己一次学习的机会. 切入正题,CMake对于一些有名的库都有自带文件夹中Modules里.cmake文件查询的支持,比如你需要编写Qt程序,你就可以去cmake_dir/Moudles/查找 FindQt4.cmake这个文件,里面…
1.需求 很多公司都在使用Qt作为GUI库,在开发者的计算机上通常是利用配置PATH环境变量来实现调用Qt的DLL.然而当把开发后的软件直接部署在顾客方,顾客的计算机上并没有Qt的bin目录,所以并不能运行Qt程序,会报出缺少Dll,一般有经验的程序员会在一台干净的Windows虚拟机上反复运行自己编译的程序,通过报错来找出缺少的DLL,一个个复制到目录下,从而解决问题.我在刚毕业时一般喜欢把整个Qt目录下的dll分为Debug和Release两部分,然后根据需要把全部的Dll都给客户打包过去,…
今天尝试把Qt程序移植到各种虚拟机中测试,由于Qt的依赖库报告往往不能显示出全部依赖库.结果频频出现问题,好不容易全部解决了,这里给出一些套路. 首先对于Qt版本,我用过很多,最终表示现阶段推荐MingGW的版本(此版自带MingGW) 安装时要注意勾选上MinGW ,如果你没有的话.此版本可以在WindowsXP下运行. 之后我要介绍一个工具:Process Explorer v16.01 这款工具可以查看依赖库.第一次使用要先设置一下如图: 之后,你就能在左边找到你每一个正在运行的程序的依赖…
老蔡写了一个基于QT的窗体程序,而过去写的类的调试信息都是用cout显示的,苦于窗体程序无法显示cout信息很多信息都看不到,于是就想到让控制台和窗体同时显示.显示控制台方法如下 1.项目(或者叫“工程”,或者project) 2.连接器(linker) 3.系统(system) 4.将第一项选成控制台(Console).不过务必要记得选择控制台前是在什么选项上,等调试结束后选回去,不然程序编译出来,就带着那个黑框框的控制台了. 打完收工.希望调试C++看不到控制台的天使们看到这篇文章后不再继续…
一.前情介绍 QApplication是Qt开发中经常用到的一个类,用来管理应用程序的生命周期.跟其相关的类还有QCoreApplication和QGuiApplication,分别用于不同场景下为应用程序的控制流和事件处理提供基础的框架.这三个类的构造函数都接收两个参数(分别是argc和argv),和C/C++程序的main函数的参数差不多.因此,大部分情况下我们是直接将main函数的这两个参数传给QApplication(这里以GUI程序为例): #include <QApplication…