2013-10-03 83 views
0

我有一个Windows DLL(主应用程序直接加载此Windows DLL),链接到另一个2 DLL,这是通过使用MINGW32交叉编译获得的。Windows Dll与交叉编译的DLL

我正面临这个链接的一个奇怪的问题。

说我有在第一横编译DLL funcA_firstdll()和funcB_firstdll(2个功能) 并且类似地我在第二交叉编译DLL funcC_secdll()和funcD_secdll()2层的功能。 当与Windows主DLL链接时,我没有得到任何链接错误,但DLL没有得到加载。

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

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

我无法理解他们为什么不能互相链接。 是否有任何不同的方式来链接交叉编译的DLL的。

任何帮助表示赞赏。

Regards,

Techtotie。

+0

自己解决。这实际上是由mingw生成的代理库不能正确解释的问题。所以不得不生成def文件。按照本教程http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs – TechTotie

回答