1

我在 linux 下开发了一些(更大的)代码。一旦我意识到我在 Windows 下需要它,我就在 linux 下安装了一个交叉编译器,一切顺利。

现在应该在不需要虚拟机的情况下进一步管理代码。因此我安装了mingw并尝试在windows下编译代码。我得到一个没有任何警告或类似警告的 DLL。

但是:当我尝试使用 DLL(在 Matlab 中绑定它)时,我收到一个关于找不到模块的错误。使用 Dependency walker 我得到一个错误

At least one module has an unresolved import due to a missing export function in an implicitly dependent module.

我看到,例如InterlockedDecrementkernel32.dll 中的函数是红色的(缺失)。在 mingw 安装中,我找到了一个 libkernel32.a,它根据这个函数有两个函数(来自 的输出nm):

00000000 T _InterlockedDecrement@4
00000000 I __imp__InterlockedDecrement@4

到目前为止,这看起来相当不错。里面c:\Windows\System32\kernel32.dll有一个函数根据InterlockedDecrementpexport

所以我的问题是:这个错误来自哪里?我做错了什么?

4

0 回答 0