1、32位的 .dll 无法在64位的unity编辑器下运行。

System.DllNotFoundException: xxx  , 64位的程序运行32位的dll是会报这种错

2、Failed to load 'Assets/Plugins/xxx.dll', expected x64 architecture, but was x86 architecture. You must recompile your plugin for x64 architecture.

将CPU选择.dll对应的CPU

3、System.EntryPointNotFoundException:Unable to find an entry point

原因就是:c++源代码中的函数在编译成DLL后,函数的名称就发生了改变:会在函数的前后产生一些字符。所以找不到方法的入口点。

    [DllImport(dllName, EntryPoint = "?Free@@YAHXZ")]private static extern int Free();

  

Free的名字编译为dll时,变成了  ?Free@@YAHXZ  ,猜想可能的原因是直接写的C++接口,而不是C接口

即,可能是没有通过 extern "C" int _DLLExport Free(); 的形式封装。

也可再强制一下编码格式 CharSet = CharSet.Unicode

即,

[DllImport(dllName, EntryPoint = "?Free@@YAHXZ",CharSet = CharSet.Unicode)]private static extern int Free();

  

附:eXeScope是查看 dll、exe等编译后的名字的小工具,很好用,下载地址:https://download.csdn.net/download/jasonczy/10657046

在导出里就可以看到对应的名字了。

转载于:https://www.cnblogs.com/Jason-c/p/9619954.html

unity 调用 .dll 或 .so时遇到的问题相关推荐

  1. 使用vs调用DLL在运行时调用的方法,使用delph调用dll

    运行时调用: 1,将*.lib放在和32位debug,release和x64相同的文件夹下,将*.dll放在对应的debug或者release文件夹下: 2,在调用的文件中编写:在声明处编写  typ ...

  2. dll放在unity哪个文件夹下_unity中调用dll文件总结

    unity中调用dll文件总结 根据收集的资料,对unity中调用dll文件进行总结,目前常用的两种,在给出vs中封装dll文件的步骤. 一.调用c#中的dll文件 1.1封装dll文件 首先新建一个 ...

  3. C# 调用Dll中非托管C++代码时,函数参数的类型对照

    在上一篇blog(工具(Tray Friend):将任何程序,最小化到系统托盘 )中. 使用C#调用了很多非托管的C++代码. 现在就把"C# 调用Dll中非托管C++代码时,函数参数的类型 ...

  4. Unity调用动态链接库dll和so

    [001]Unity调用动态链接库dll和so  ApolloAR https://www.jianshu.com/p/f37bb72979a1 一.PC平台 (注:环境 VS2017+Unity20 ...

  5. 调用dll时出现“Unhandled exception 堆已损坏(heap corruption)“异常解决方法

    转自:http://blog.sina.com.cn/s/blog_668aae780101iou9.html http://yaogangshi.iteye.com/blog/1001690 htt ...

  6. LabVIEW调用DLL时出现异常0xc0000005代码

    LabVIEW调用DLL时出现异常0xc0000005代码 当调用本地DLL时,LabVIEW崩溃,并且收到一条错误消息,说明发生了内存访问冲突(异常代码:0xc0000005). 将LabVIEW版 ...

  7. matlab 查看dll的函数参数类型,MATLAB调用dll文件中的库函数时的变量类型匹配问题?...

    我用MATLAB调用dll来进行USB数据采集运行 libfunctions  USBAD -full 得到: Functions in library USBAD: [lib.pointer, vo ...

  8. Unity调用Window提示框Yes/No(英文提示窗)

    Unity调用Windows弹提示框 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar - ...

  9. C#创建和调用DLL

    一.写在前面 C# 语言是一种简单但功能强大的编程语言,用于编写企业应用程序. C# 语言从C和 C++语言演化而来,在语句.表达式和运算符方面使用了许多 C++ 功能. C# 语言在类型安全性.版本 ...

最新文章

  1. unity 公用的方法库
  2. T-SQL 之 多表联合更新
  3. 个人项目耗时对比记录表
  4. Guava 是个风火轮之基础工具(4)
  5. 抖音起诉腾讯垄断 要求停止封禁并索赔9000万元
  6. 【更新汇总】FastReport系列更新|附下载
  7. UVA516 POJ1365 LA5533 ZOJ1261 Prime Land【欧拉筛法】
  8. 华为FusionSphere虚拟化解决方案介绍
  9. 36令牌环网的基本原理
  10. Linux必学书籍!五本强烈推荐,你读过几本?
  11. Essential Netty in Action 《Netty 实战(精髓)》
  12. 单片机课程设计八音盒
  13. 干货丨自学成才秘籍!机器学习深度学习经典资料汇总(一)
  14. 2应用层 - P2P应用
  15. 35年老程序员个人谈:C语言时代行将落幕
  16. 更换oracle nls,oracle_更改数据库字符集 (NLS_CHARACTERSET)
  17. ssm在线教学质量评价系统毕业设计源码141550
  18. 怎么把视频内存压缩小?视频内存过大怎么压缩?
  19. 泰坦尼克号入门学习(思维导图)
  20. 哈佛职场情商课读书笔记

热门文章

  1. leetcode(2)---两数相加
  2. 合并K个排序链表—leetcode23
  3. iOS 真机调试包集合 包含 iOS 12.4 不断更新
  4. 浅谈C/C++中的typedef和#define
  5. 提高效能 自我关怀的六个习惯
  6. 查看linux显示文件大小,Linux下查看占用最大的文件和文件夹大小
  7. 阿里云centos mysql_阿里云ECS服务器CentOS7上安装MySql服务-阿里云开发者社区
  8. [NOTE] RESTful架构
  9. 3.2 python实战_线性回归的梯度下降法
  10. python爬虫之urllib库详解