【问题标题】:Unity3d c++ pluginunity3d c++ 插件
【发布时间】:2013-01-07 14:20:15
【问题描述】:

我目前正在开发一个 Unity3d 4.0 Pro 项目,我正在尝试将 tngaming 背心与统一联系起来。我唯一可用的 SDK (http://tngames.com/pages/Developers) 是 C++ .h 和 .lib 文件。据我从文档 (http://docs.unity3d.com/Documentation/Manual/Plugins.html) 中了解,我应该简单地将两个 tngaming.h 和 tngaming.lib 放入我的资产文件夹并执行以下代码:

[DllImport("tngaming")]
private static extern int SetUpJacket();

这样我就可以调用函数SetUpJacket()。但是我得到了DllNotFoundException: tngaming error.

任何获得一些信息做类似事情的人可以提供帮助吗?

【问题讨论】:

  • tngaming.dll 是否在 Unity 项目的 Assets/Plugins 文件夹中?运行.exe时,DLL是否与.exe在同一目录下?
  • 据我所知,没有 dll,只有一个 .h 和一个 .lib 文件。其次,最初我只是想让它工作,因此我现在没有将我的统一导出到任何 exe 文件。它在统一工作窗口中不起作用。
  • 我不肯定,但我认为您必须使用已编译的 .dll。
  • @ChrisSinclair 那是correct。还有relevant.

标签: c# plugins header unity3d .lib


【解决方案1】:

感谢大家的帮助。实际目标是找到一种方法将非托管 c++ 代码(.h 和 .lib 文件)更改为非托管 .dll,然后创建一个 c# 包装器。

花了很多非常晦涩的搜索,但我设法找到了一个完全符合我在指南表单中需要的页面。

http://waterhobo.com/?p=28

在页面底部,“这是我制作的源代码”行中有一个链接,供那些想要跳过编程部分而只使用 C# 中的 TN Gaming Vest 的人使用。

【讨论】:

    【解决方案2】:

    来自http://docs.unity3d.com/Documentation/Manual/PluginsForDesktop.html

    一旦构建完成,bundle 应该放在 Unity 项目的 Assets->Plugins 文件夹中。然后 Unity 会按名称找到它。

    MacOS 库为.lib,Windows 库为.dll,Linux 库为.so。其他评论者不正确;插件必须为 .dll 格式。我相信(不确定).dll 也可以在 Mac 上运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多