qt生成的exe到指定路径加载DLL文件
时间: 2023-11-22 14:55:59 浏览: 591
QT中DLL显示加载和隐式加载的Demo
要让生成的 Qt 可执行文件加载 DLL 文件,可以使用以下步骤:
1. 将需要加载的 DLL 文件放在与可执行文件相同的目录下,或者将 DLL 文件的路径添加到系统环境变量中。
2. 在 Qt 项目的 .pro 文件中添加以下代码:
```
CONFIG += no_plugin_loading
QMAKE_LFLAGS += /NODEFAULTLIB:LIBCMT
LIBS += -L/path/to/dll -ldllname
```
其中,`/NODEFAULTLIB:LIBCMT` 是为了避免链接时出现 `LNK2038` 错误,`-L/path/to/dll` 指定 DLL 文件的路径,`-ldllname` 指定要加载的 DLL 文件名。
3. 在代码中调用 DLL 中的函数,可以通过以下方式:
```c++
QLibrary lib("dllname");
if (lib.load()) {
typedef int (*FunctionName)(int);
FunctionName function = (FunctionName)lib.resolve("functionName");
if (function) {
int result = function(42);
// do something with the result
}
}
```
其中,`QLibrary` 类用于加载 DLL 文件,`lib.load()` 用于加载 DLL 文件,`lib.resolve("functionName")` 用于获取 DLL 中的函数地址,`typedef` 定义函数指针类型,`function(42)` 调用 DLL 中的函数并传递参数。
阅读全文