将DLL链接到C++程序QT创世

将DLL链接到C++程序QT创世,c++,dll,linker,qt-creator,C++,Dll,Linker,Qt Creator,我对这个概念有些陌生,在运行时加载库时遇到一些问题。在我使用的开发机器上,库似乎加载正确,程序将始终正确运行,但当我编译此程序并将其移动到另一台具有所需DLL的计算机时,它们无法加载。我认为发生这种情况的主要原因是,未加载的DLL位于系统的某个文件夹中,例如C:\windows\system32,这在大多数其他计算机上都不存在 我的问题是,如果我提供了一个具有所需功能的自定义DLL,并将其与程序一起提供,那么如何使其在QTCreator中正确链接?我尝试了-l和-l标志的组合,例如:-llibn

我对这个概念有些陌生,在运行时加载库时遇到一些问题。在我使用的开发机器上,库似乎加载正确,程序将始终正确运行,但当我编译此程序并将其移动到另一台具有所需DLL的计算机时,它们无法加载。我认为发生这种情况的主要原因是,未加载的DLL位于系统的某个文件夹中,例如C:\windows\system32,这在大多数其他计算机上都不存在

我的问题是,如果我提供了一个具有所需功能的自定义DLL,并将其与程序一起提供,那么如何使其在QTCreator中正确链接?我尝试了-l和-l标志的组合,例如:-llibname-LC:\path\to\where\dll\would\been,但这似乎也不起作用。另一件让我惊讶的事情是,即使程序运行需要DLL,程序仍然成功地启动了其他计算机


如果有人对此有任何建议或教程,我将不胜感激。

首先,您应该阅读以加载它们

第二,一旦你知道这个过程是如何工作的,你就可以考虑将你的DLL应用到你的应用程序中,这样在其他机器上运行时,问题就消失了。如果是第三方DLL,则应检查您是否有权这样做

第三,在运行时诊断DLL负载问题方面,它非常出色。只需在其中加载一个.exe并点击F7即可开始评测。它将显示应用程序加载的所有DLL以及从何处加载的DLL

最后,我不知道QTCreator,但我可以想象,您所需要做的就是使用正确的开关将.lib文件传递给它,并建议-L是正确的开关,FWIW