【发布时间】:2020-10-17 01:15:17
【问题描述】:
我正在尝试在我的 c++ 构建器应用程序中使用 external dll。 dll(让我们称之为 X.dll)是使用 Qt Creator 创建的(使用 MingW 32 位编译器,也尝试过 gcc)
并由一个函数组成以保持简单(除了 X.dll,还创建了一个导入库 X.a)。
dll头(Dll_lib.h)基本上就是
__declspec(dllexport) Dll_method(float *p, int n);
如果我创建一个简单的 Qt 应用程序,将 dll 头添加到它,并将其链接到 dll 导入库 X.a,everythink 可以按预期工作。
但是,当我尝试在我的 c++ 构建器应用程序中使用 dll 时,我收到“unresolved external _Dll_method referenced from ...”错误。
我的 c++ builder 应用程序中引用 dll 的部分看起来像
#include "lib\Dll_lib.h"
#pragma comment(lib, "X.lib")
__declspec(dllimport) Dll_method(float *p, int n);
.....
X.lib 是使用与 c++ builder 捆绑在一起的 implib 工具直接从 dll 创建的。我还尝试使用 coff2omf 工具从 X.a 创建 X.lib,但没有任何效果,而且我总是收到相同的错误消息。
【问题讨论】: