【问题标题】:Windows Dll with Cross Compiled Dll带有交叉编译 Dll 的 Windows Dll
【发布时间】:2013-10-03 11:26:55
【问题描述】:

我有一个windows dll(主应用程序直接加载这个windows dll)链接到另外2个dll,这些dll是通过使用mingw32交叉编译获得的。

我在这个链接上遇到了一个奇怪的问题。

假设我在第一个交叉编译的 dll funcA_firstdll() 和 funcB_firstdll() 中有 2 个函数 同样,我在第二个交叉编译的 dll funcC_secdll() 和 funcD_secdll() 中有 2 个函数。 与 windows 主 dll 链接时,我没有收到任何链接器错误,但 dll 没有被加载。

所以如果我使用dependency walker检查windows dll的依赖关系,我会看到第一个和第二个交叉编译的dll都是红色的。

当我单击第一个交叉编译的 dll 时,我看到该 dll(funcA_firstdll() 和 funcB_firstdll())中的函数为绿色,第二个交叉 dll(funcC_secdll() 和 funcD_secdll())为红色。 同样,当我单击第二个交叉编译的 dll 时,我看到该 dll 中存在的函数(funcC_secdll() 和 funcD_secdll())为绿色,第一个交叉 dll 为红色。

我无法理解为什么它们不能相互链接。 有没有不同的方法来链接交叉编译的 dll。

感谢任何帮助。

问候,

Techtotie。

【问题讨论】:

  • 自己解决了。这实际上是一个问题,由 mingw 生成的代理库没有被 MSVC 正确解释。所以也必须生成def文件。按照本教程mingw.org/wiki/MSVC_and_MinGW_DLLs

标签: windows dll cross-compiling dllimport mingw32


【解决方案1】:

自己解决了。

这实际上是一个问题,由 mingw 生成的代理库没有被 MSVC 正确解释。

所以也必须生成 def 文件。按照本教程进行操作

http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs

【讨论】:

    猜你喜欢
    • 2022-06-12
    • 1970-01-01
    • 2020-03-18
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多