gpt4 book ai didi

C++ 插件无法延迟加载 dll

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:38 26 4
gpt4 key购买 nike

我正在将 Nvidia Blast 桥接到 Unity,当 PhysX 尝试延迟加载 PhysX3CommonDEBUG_x64.dll 时,我遇到了以下错误:

Unhandled exception at 0x00007FFDD7743FB8 (KernelBase.dll) in Unity.exe: 
0xC06D007E: Module not found (parameters: 0x00000000005FC5B0).`

我能够将这个桥接程序作为一个独立的控制台应用程序正常运行(在更改项目类型之后),但是在 Unity 内部运行 PhysX 初始化会导致崩溃(这里是 Unity 的堆栈跟踪):

0x00007FFF4F543FB8 (KERNELBASE) RaiseException
0x00007FFEF0840835 (PhysX3DEBUG_x64) [f:\dd\vctools\delayimp\delayhlp.cpp:323] __delayLoadHelper2
0x00007FFEF0669011 (PhysX3DEBUG_x64) _tailMerge_physx3commondebug_x64_dll
0x00007FFEF051CDA4 (PhysX3DEBUG_x64) [c:\users\jesse\documents\github\physx-3.4\physx_3.4\source\physx\src\npfactory.cpp:67] physx::NpFactory::NpFactory
0x00007FFEF051D6ED (PhysX3DEBUG_x64) [c:\users\jesse\documents\github\physx-3.4\physx_3.4\source\physx\src\npfactory.cpp:122] physx::NpFactory::createInstance
0x00007FFEF0545721 (PhysX3DEBUG_x64) [c:\users\jesse\documents\github\physx-3.4\physx_3.4\source\physx\src\npphysics.cpp:269] physx::NpPhysics::createInstance
0x00007FFEF0544DAA (PhysX3DEBUG_x64) [c:\users\jesse\documents\github\physx-3.4\physx_3.4\source\physx\src\npphysics.cpp:831] PxCreateBasePhysics
0x00007FFF18D37FA3 (Fractre) [c:\users\jesse\documents\github\blast\compiler\fractre\fractre.cpp:60] Initialize

我可以确定地确认 PhysX3CommonDEBUG_x64.dll 和所有其他 dll 都存在于插件目录中(如 Unity 所期望的那样)并且在它们丢失时有投诉,但现在它们已得到解决。

我也跑过Window's System File Checker并且没有发现完整性问题。

最佳答案

confirm that PhysX3CommonDEBUG_x64.dll and all other dlls are present in plugin directory (like Unity expects)

Unity 期望什么并不重要。当您使用 /DELAYLOAD 链接器标志与 native DLL 链接时,加载该 DLL 的不是 Unity,而是 Windows。

Here’s a documentation关于 DLL 搜索顺序。有 a special API您可以调用以指定自定义 DLL 位置,但要小心处理,如果有人欺骗您的应用程序加载该 DLL 的被黑版本而不是正确版本,则可能会产生安全后果。

结合其他注意事项。确保您使用的是正确的架构,即 Unity 项目和 PhysX 都是 64 位的。还要确保 PhysX3CommonDEBUG 依赖的任何 DLL 也可用于 LoadLibrary。

关于C++ 插件无法延迟加载 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48778715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com