QT应用程序(动态编译)如何查看链接了哪些.dll文件

QT应用程序(动态编译)如何查看链接了哪些.dll文件,第1张

就把那个exe文件放在一个没装Qt的电脑上运行试试。会提示缺少xxx文件,缺什么就从Qt的安装目录下找到那个文件复制过去,这个方法可能比较笨,不过比较保险,一般是需要:mingwm10dll。QtCored4dll。QtGuid4dll。

qt只编译不链接解决方法:

1

首先我们使用qtcreator编译完程序后,按下F5快捷键或者Ctrl+R,运行程序,确定程序没有错误即可。

2

接下来我们就要想象一下,如果我们要把程序交给客户,客户不可能在Qtcreator中去运行程序的,我们给客户的肯定得是一个可执行程序或者是一个安装包。这个可执行程序我们是可以到编译生成的路径下找到的。点击QtCreator左侧栏的项目,即可看到可执行程序的位置了。

3

来到可执行程序的编译目录下,如下图所示,有release和debug两个目录,我们在编译时选择了debug方式就去debug目录下找,选择了release方式就去release目录下找就可以了。

4

接着我们直接执行exe程序,就会产生一个错误,提示可执行程序链接到某些动态库错误。这里我们用到了widget模块,gui模块,也有可能你用到了sql模块,只要你使用了某些模块,就会产生对应的错误。

5

首先我们需要到Qt的安装目录下吧相应的dll动态库文件拷贝到我们可执行程序目录下,如下图,我的是在E盘,大家可自行查看的。这里也会有两种dll动态库文件,有的是名称有“d”的有的没有,实际上就是release版本和debug版本。我们找对应的版本即可。

6

接着我们运行的时候还是出现刚刚的动态库链接错误的话,我们还要确保Qt的安装路径是否已经添加到系统环境变量中了。

7

最后我们执行可执行程序,可是这时候如果还报错,提示某些链接点进入不了的话,我们还得使用管理员身份运行。

END

对的,a是静态链接库,相当于windows上的lib文件。so是动态连接库,相当于windows上的dll文件。用法:

1 把libstudenta拷贝到/usr/lib或者/lib目录下

2 比如你的项目是testc,可以这么编译:gcc -o test testc libstudenta 或者gcc -o test testc -lstuent

so库的用法一样。

补充:

早说你在windows平台嘛。。是用cygwin吗?把libstudenta复制到/usr/lib或者/lib目录下,把dll复制到exe所在的目录。

a文件是编译exe需要的,dll文件是exe运行时需要的。

介绍 自从Windows的开始阶段动态链接库(DLL)就是Windows平台的一个组成部分。动态链接库允许在一个独立的模块中封装一系列的功能函数然后以一个显式的C函数列表提供外部使用者使用。

dll库生成的位数或方式不同。通常dll里函数无法获取是因为dll库生成的位数或方式不同导致的,若dll库是在64位的qt中生成的,则32位的qt无法调用此依赖库。dll,动态链接库,在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。

以上就是关于QT应用程序(动态编译)如何查看链接了哪些.dll文件全部的内容,包括:QT应用程序(动态编译)如何查看链接了哪些.dll文件、qt只编译不链接、Qt 中如何使用动态库.so文件或者静态库.a文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9709877.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存