【发布时间】:2014-01-15 14:46:59
【问题描述】:
在我的项目中,我创建了一个 Plugins 文件夹(当然命名为“Plugins”),其中包含三个从我的 c++ 项目中导入的插件。每次我点击构建内容时,我的 dll 都会显示在“插件”文件夹中。
问题是我每次运行游戏时都会得到一个 DllNotFoundExeption,它指向我的三个插件中的两个。我和我的队友在网上发现可以通过将dll放在Assets文件夹中来解决这个问题。我们这样做了,幸运的是,它通过移动两个给我们错误的 dll 解决了它。我们在 Plugins 文件夹中留下了一个很好的 dll。
但有些东西在我的脑海里挥之不去,这并不能解决我们的整个问题,我是对的。当 w 构建游戏并创建我们的可执行文件时,只构建了一个 dll,这是 Plugins 文件夹中唯一的一个。
我的问题是:如何修复我的另外两个 dll,以免出现 DllNotFoundExeption 错误?
更新报告我发现一个可以工作的 dll 是用 C# 完成的,而另外两个在 Plugins 文件夹中似乎不能工作的 dll 是用 C++ 制作的。
所以我的新问题是如何让 Unity 接受 Plugins 文件夹中的这两个 dll,或者这对于 c++ 插件来说是不可能的?
【问题讨论】:
-
您是否使用DllImport 属性来加载C++ dll?
-
在 c++ 类中,是的,是的。
-
我不熟悉 Unity。 C++ dll 是托管的还是非托管的?由于 Unity 支持 WP8 和 WStore,我认为它们应该被管理。
-
我们让他们管理。