在Qt应用程序中使用dll

用户名

大家,我是一个初学者,但我还有一些令人困惑的地方。

我有一个程序qt,我想包括一个extern库。通常,要包括一个extern库,我要使用以下宏:

INCLUDEPATH += "path/to/the/include/headers/file"
LIBS += -L"path/to/where/the/lib/are" \
        -llibname   // .a for gcc .lib for mscv

然后,我可以在程序中使用该库。但是最后,qt复制程序使用与库名关联的.dll。所以我的问题是,为什么我们不能在Qt中直接使用.dll?我不太了解“ .lib”和“ .dll”执行程序之间的区别,“。dll”在运行时使用。

我的问题是有一个仅包含dll和include标头文件的库。有没有办法像这样使用这个库,或者我必须关联.a或.lib?

编辑:好的,现在,由于有用的建议,我更好地了解了.lib和.dll之间的区别,以及如何使用不带.lib且仅包含标头的dll。但是我有一个问题。使用标头,我可以创建对象,编译器不必为找不到对象及其方法而烦恼,但是当我进行编译时,我遇到了一些有关“对方法的未定义引用”的问题。

如果我正确理解,则找不到该引用,因为该引用是在.lib中定义的,这就是为什么找不到该引用的原因。所以我的问题是:

我如何对编译器说,将在运行时而不是在编译时定义对方法的引用?

EDIT2:好的,显然可以使用dll获取对象的指针,但不能使用其方法,所以我认为我面临的是错误的方式。再次感谢您的回答。

最好的祝福,

so61pi

有2种类型的lib文件,请参见以下列表:https ://stackoverflow.com/a/2375144/2064646

您可以使用不带.lib文件的.dll,而是通过GetProcAddress函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Qt应用程序询问未使用的dll

在 Delphi 应用程序中使用 HDF5 dll

Qt应用程序从Fortran调用Dll

如何在Qt应用程序中使用Windows字体

在我的Qt C ++应用程序中使用Anaconda的Python

在Qt GUI应用程序中使用AsmJit时出错

在我的dll中使用应用程序时该应用程序为空

如何使用其他Linux平台中的所有dll文件部署Qt应用程序?

在C#WPF应用程序中使用外部C ++ DLL

在C#WPF或Windows Forms应用程序中使用DirectX c ++ DLL

是否可以在主应用程序中使用在DLL中创建的CPropertyPage?

在标准 .net 控制台应用程序中使用 .Net Core dll

c#在.net 4.0应用程序中使用.net 4.5编译的dll

在带有C#应用程序的DLL中使用CUDA

调试 ASP MVC 应用程序中使用的 C++ DLL

在Android应用程序使用Qt代码

使用 Qt 的可扩展应用程序

是否可以在 QT 应用程序中使用 C++ 运行 cmd 的命令?

如何确定Qt应用程序中使用的是哪种OpenGL引擎:软件还是硬件?

如何在Python Qt应用程序中使用KDE Okular的文档视图小部件?

如何在Qt应用程序中使用样式表更改QPushButton图标大小

是否可以在Qt(Golang绑定)应用程序中使用Sparkle?

在已安装的应用程序中使用Qt帮助文件

如何在另一个应用程序中使用QT QML C ++插件?

如何获得Qt5应用程序以在Ubuntu 17.04中使用GTK主题?

我可以在 qt 小部件应用程序中使用快速控件吗?

如何在64位Qt应用程序中使用32位汇编函数?

在MVC应用程序中使用NLog

在应用程序中使用媒体类