我使用的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
答案 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肯定会检测到它。
干杯。