DLLNotFoundException

时间:2010-12-16 22:53:19

标签: c++ winapi unity3d

我使用的DLL是一个名为Unity3d的游戏引擎的插件。我在Windows 7 64位Ultimate Edition上的Visual C ++ Express 2010中创建了DLL。 DLL在最初创建它的机器上正常运行。

问题是DLL在另一台机器上的Unity3d编辑器中不起作用,并且提供的错误基本上表明DLL缺少某些依赖项。目标计算机正在运行Windows 7 Home 64位(如果这是相关的)

Dependency Walker错误日志的结果:

  

错误:Side-by-Side配置信息   “C:\用户\ dewayne \桌面\共享\ vrpnplugin \ unityplugin \建立\发布\ OPTITRACKPLUGIN.DLL”   包含错误。应用程序无法启动,因为它   并排配置不正确。请参阅申请表   事件日志或使用命令行sxstrace.exe工具获取更多详细信息   (14001)。
  错误:由于隐式相关模块中缺少导出功能,至少有一个模块具有未解析的导入   错误:找到了具有不同CPU类型的模块   警告:找不到至少一个延迟加载依赖模块   警告:由于延迟加载相关模块中缺少导出功能,至少有一个模块具有未解析的导入。

可以找到Visual C ++ Express 2010项目和解决方案文件here。 zip是79MB,还包含其依赖项。

有问题的DLL是OptiTrackPlugin.dll

2 个答案:

答案 0 :(得分:1)

检查dll中的依赖项。我使用depends.exe依赖walker,它曾经与Visual C ++捆绑在一起,但MS不再提供它。您可以单独下载:http://www.dependencywalker.com/

答案 1 :(得分:0)

可能你错过了使用你的DLL的客户端上的MS C ++ Runtime。 如果您已在visual studio中构建它,则需要在客户端上安装CRT和C ++ RT。 Dependency Walker肯定会检测到它。

干杯。