我有一个windows dll(主应用程序直接加载这个windows dll)链接到另外两个dll,这是通过使用mingw32交叉编译获得的。
我正面临这种链接的奇怪问题。
假设我在第一个交叉编译的dll funcA_firstdll()和funcB_firstdll()中有2个函数 同样地,我在第二个交叉编译的dll funcC_secdll()和funcD_secdll()中有2个函数。 当与windows main dll链接时,我没有得到任何链接器错误,但dll没有被加载。
因此,如果我使用依赖性walker检查windows dll的依赖关系,我会看到第一个和第二个交叉编译的dll都是红色的。
当我点击第一个交叉编译的dll时,我看到该dll中存在的函数(funcA_firstdll()和funcB_firstdll())为绿色,第二个交叉dll(funcC_secdll()和funcD_secdll())为红色。 类似地,当我点击第二个交叉编译的dll时,我看到该dll中存在的函数(funcC_secdll()和funcD_secdll())为绿色,并且第一个交叉dll为红色。
我无法理解为什么他们无法相互联系。 是否有任何不同的方式来链接交叉编译的DLL。
感谢任何帮助。
此致
Techtotie。
答案 0 :(得分:0)
我自己解决了。
实际上,由mingw生成的代理库的问题是MSVC无法正确解释。
所以不得不生成def文件。按照本教程