我的ANE文件的结构如下所示:
<META-INF>
<ANE>
<Windows-x86>
ExtensionDll.dll
DllUsedByExtensionDll.dll
extension.xml
mimetype
catalog.xml
library.swf
如果ExtensionDll.dll使用其他Dll中的函数,则不会加载扩展名。 DllMain没有被调用。当空中应用程序使用扩展程序运行时,似乎DllUsedByExtensionDll.dll不在Dll搜索路径中。
如果我不想将它们放入一些常见的Dll路径,我应该如何让应用程序找到额外的Dll?
答案 0 :(得分:7)
我遇到了同样的问题,并在此过了几天。原来有两种方法可以解决这个问题。
您无需在正在构建的ANE中打包DllUsedByExtensionDll.dll。
问题是,当从调试器启动时,ExtensionDll.dll无法找到DllUsedByExtensionDll.dll,因为调试器的可执行文件位于AIR SDK中。然而,一旦导出发布版本,您的应用程序就是可执行文件,所以现在它在根目录中查找dll。
如果您想调试此内容以便找到有关可能出错的更多信息,我建议您使用adl命令通过命令行运行您的应用。
对我来说,运行Flash Builder的调试/运行意味着我无法看到Windows错误“程序无法启动,因为您的计算机缺少dll”。这让我长时间陷入疯狂的追逐中。
答案 1 :(得分:0)
如果你的dll正在使用其他dll,那么在你要使用该ANE文件的项目中包含引用dll。