Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt-在我的应用程序中使用第三方DLL_Qt_Dll_Dllimport - Fatal编程技术网

Qt-在我的应用程序中使用第三方DLL

Qt-在我的应用程序中使用第三方DLL,qt,dll,dllimport,Qt,Dll,Dllimport,我整个上午都在试图得到一个明确的答案,但我运气不好——也许我的速度太慢了,因为我以前没有使用过这个功能 我有一个.dll文件和一个同名的对应.lib文件。我想在Qt应用程序中使用这些函数中的一些函数。我有一个清单,列出了我在库中可用的函数,我还有一个C++函数的列表,这些函数是用Extn“C”编写的。p> 从今天我可以理解的(可能是错误的)我可以在运行时加载库并尝试解决我需要的函数,或者我可以在编译时加载库,确保我在头中包含C++原型。p> 现在,我的第一个问题是,我认为这两件事对吗 如果我是,

我整个上午都在试图得到一个明确的答案,但我运气不好——也许我的速度太慢了,因为我以前没有使用过这个功能

我有一个.dll文件和一个同名的对应.lib文件。我想在Qt应用程序中使用这些函数中的一些函数。我有一个清单,列出了我在库中可用的函数,我还有一个C++函数的列表,这些函数是用Extn“C”编写的。p>

从今天我可以理解的(可能是错误的)我可以在运行时加载库并尝试解决我需要的函数,或者我可以在编译时加载库,确保我在头中包含C++原型。p> 现在,我的第一个问题是,我认为这两件事对吗

如果我是,有没有更好的办法

如果我错了,有人能在正确的方向上轻轻推我一下吗


谢谢

也许您需要静态链接.lib,在程序中部署dll,包括函数原型并只使用函数?
libs通常是提供的,所以您不必做“脏”的工作-它们为您加载动态库和导出函数。例如,Qt通常是这样使用的。

这是在Visual Studio还是mingw下使用的?它们处理dll的方式不同。您是否尝试过使用QLibrary类来管理dll?@hexa是的,谢谢您的提示-我正在查看它-它似乎是用于动态加载的。我现在正在尝试静态编译它,但是如果我迷路了,我会去找QLibrary。动态加载是好的,因为如果dll丢失了,例如,你仍然可以启动你的程序,并对错误消息等有更多的控制。干杯-我通常得出了这个结论,现在正试图实现这一点。