Qt如何实现静态编译与动态编译共存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt如何实现静态编译与动态编译共存相关的知识,希望对你有一定的参考价值。

我用的是4.8.4mingw版的库+Qt creator,这样实现的是动态编译。
我上网学静态编译,说要把qt库拿去静态编译,我按网上的说法做了,花了3小时多。而后打开Qt creator发现以前的工程不能用了,会提示错误。于是新建一个工程再debug一下生成了.exe有150M多,release也有8M,这两个模式都实现了静态编译。注意,我是没有进行任何设置,只是编译了一下qt库,就实现了静态编译。

但是我发现静态编译尤其是debug所花的时间过长了,不利于我调试,于是我想改回动态编译,却不知道怎么改了。

自己尝试了这样做:
重新安装了一个qt库(未覆盖原来的),把Qt creator里的qmake路径改为新装的qt库里qmake,重启Qt creator,发现还是静态编译,于是卸载了这个新装的Qt库,发现Qt creator不让编译了,点一下运行的按钮,应用输出框没有任何提示,如下图所示:

只有左边那个构建显示红色的精度条,啥也没有了……

现在我想要静态编译与动态编译共存,如何设置?我平时调试想用动态编译,偶尔发布时用静态编译,谢谢大家,本人初学Qt半月不到……

  通常不需要在系统变量中加入Qt库的位置的。Qt Creator可以自动扫描到系统中存在的Qt库版本,如果扫描不到,可以通过Creator的 Tool->Options->Qt4中添加静态库的路径。而QDevelop虽然没有那么智能,但是可以手动指定INCLUDE和LIB的位置。或许,这根本就不是一个问题。如果怀念动态库,或者在产品发布之前并不想体验静态编译那种蜗牛爬一般的速度,可以在pro文件中指定CONFIG += shared,而且,要记得在Project中选择相应的版本。 参考技术A 项目设置中有个DEBUG模式与RELEASE模式的切换,可以试试本回答被提问者采纳 参考技术B 路径问题~~~

以上是关于Qt如何实现静态编译与动态编译共存的主要内容,如果未能解决你的问题,请参考以下文章

Qt creator 如何设置静态编译

QT 5.5.0 怎么设置才能实现静态编译

QT for Android怎样设置静态编译

Qt Creator 怎样设置才能实现静态编译

如何编译C/Fortran动态/静态链接库

Qt静态编译发布和动态编译发布