‘壹’ Qt creator 如何设置静态编译
Qt默认的编译方式是动态编译的,但是有时候编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译程序,Qt要实现静态编译必须库文件也是静态编译的,可以用这个命令编译静态库:
1.将C:\Qt\2010.05\qt\mkspecs\win32-g++\qmake.conf文件中的QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
改为
QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
2.在开始菜单里找到Qt Command Prompt并运行,输入命令: configure -static -debug-and-release -no-exceptions -L "C:\Qt\2010.05\qt\include" -L "C:\Qt\2010.05\qt\lib"
-L指定一下路径,防止用到vc的头文件
选择开源:O;选择license:y;
3.上一条命令运行成功后再输入命令: mingw32-make sub-src
等1 ~3 小时可能就运行完了 完成后就可以了。
‘贰’ 用qt怎么编译一个c程序
qt几?用gcc编译。不过要用qt的工具先生成Makefile文件。一般是qt里自带的qmake工具。首先先写好cpp和头文件,在当前目录下依次执行qmake -project,qmake,make即可编译。
‘叁’ Qt下如何编译库
一般分为动态库和静态库,方法分别如下:
一.
静态库的生成
1.
测试目录:
lib
2.
源码文件名:
mywindow.h,
mywindow.cpp
3.
编写项目文件:
mywindow.pro
注意两点:
TEMPLATE
=
lib
CONFIG
+=
staticlib
4.
生成Makefile:
qmake
mywindow.pro
5.
编译生成静态库libmywindow.a
make
二.
静态库的使用
1.
测试目录:
test
2.
将mywindow.h与libmywindow.a拷贝至test目录下
3.
编写main.cpp,
包含头文件mywindow.h,
并调用MyWindow类
4.
编写项目文件:
test.pro
注意加上库路径与库文件名:
LIBS
+=
-L
./
-lmywindow
5.
生成Makefile:
qmake
test.pro
6.
编译:
make
7.
运行:
./test
三.
动态库的生成
动态库编译基本和静态库类似,需要将上述将要进行编译的项目文件.pro中下面这行去掉
CONFIG
+=
staticlib
按上述操作编译完后就可以得到以lib开头并且.so*
结尾动态库文件,一般有多个。
‘肆’ QT如何进行线程编译
在Qt中使用多线程,目前就我使用过的有两种,一是子类化QThread,重写run函数,在run函数里实现自己的代码,这一部分代码通常是比较耗时,或者干脆直接阻塞的。比如一个while循环,设置一个标志,判断循环结束。
这样的例子在网上有很多,就不写了。
这样写的话,会有一些东西需要了解。
子类化QThread的方法,只有run函数里面的内容是执行在子线程里的,其他的部分,比如槽函数什么的还是在主线程里执行(假设是在主线程开启的该子线程)。
还有一种方法,是子类化QObject,新建一个线程,然后使用MoveToThread把这个类的对象移到新建的线程中,这种做法使得它所有的槽函数都是执行在新开辟的线程里面。
如果直接(QObject对象).abc()的话,这个成员函数是在主进程内执行,可能会出现"QObject::killTimer: timers
cannot be stopped from another thread"的运行错误。
使用第二种方法的话,貌似会遇到这样的问题:如果在一个槽函数中把子线程阻塞,其他的槽函数无法接受来自主线程
‘伍’ qt install framework怎么编译
(1)静态编译发布。这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中。其优势是简单单一,所有的依赖库都集中在一起,其缺点也很明显,可执行程序体量较大,光Qt核心库加起来就得十多兆。(2)制作安装包发布。这种方式的原理也简单,就是将可执行程序和其依赖的库文件一起打包压缩,制作成安装包发布。制作安装包的工具挺多,今天要说的是Qt官方的安装包制作框架 Qt installer framework .这个框架由Qt官方出品,广泛应用于Qt library, Qt Creator等安装包产品。网上搜了一下,相关教程貌似不多。
‘陆’ qt5.5怎么编译 vs2013调试
1、VS2013
这个不消我不多说,微软有名的集成开发环境,凡是编过程的朋友都知道怎么下载安装。
2、qt5.5.1安装包
包含相应的Qt库和Qt集成开发环境(即QtCreater)。
3、qt vs插件
为了帮助在VS中创建Qt项目,并对其进行调试编译。
注意,由于目前Qt已经分为多个版本,有些商业版本需要向开发者收费,而另一些开源版则是免费提供,故而在下载前,会有好几个问题让大家回答。由于某些朋友英文学得不是太好,在接下来的步骤中,我会一一向大家解释回答的要领。
下载方法:
首先,打开如图所示的网址,下载相应的Qt安装包。在下载界面,第一个问题是让你选择下载的Qt版本,由于我们需要下载的是免费版本,故而在此选择社区版。
注意,商业版是要收费的,价格我猜大多数初学编程的人都难以承受。
第二个问题是你想使你的产品受到保护吗。也就是,代码保密,不开源。如果代码不开源,那就是商业版的范畴,因此我们在此选择不。
第三个问题是程序如何链接到Qt库,在此选择静态链接,这样生成的程序体积会大点。不然,写一个程序就让程序带着Qt库文件到处跑,确定蛮烦人的。
5
第四个问题是你准备让你的程序代码开源吗?选择是。虽然一百个不愿意开源,可是不开源就要出钱买商业版,没办法。