On 22/09/2015 at 09:27, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R17
Platform: Windows ;
Language(s) : C++ ;
---------
Hi,
I'm developing a C++ plugin that uses an API exposed via an import lib + DLL.
The plugin's folder structure follows the cinema4d_cpp_sdk sample structure, essentially like this:
MyPluginDir/
MyPluginDir/MyPlugin.cdl64
MyPluginDir/res/..
MyPluginDir/res/description/..
MyPluginDir/res/strings_us/..
The plugin has been placed in
C:\Users\Me\AppData\Roaming\MAXON\CINEMA 4D R17_8DE13DAD\plugins\
As my plugin depends on the external DLLs at plugin load-time, if any of the DLL dependencies are missing my plugin will not load, and so I am not able to provide an additional DLL search path via SetDllDirectory as some people on the forum have suggested. When trying to debug my plugin I get a message like this:
Could not load Extra.dll due to Windows System Error #126: The specified module could not be found. [win_dll.cpp(211)].. (file:///.../AppData/Roaming/MAXON/CINEMA 4D R17_8DE13DAD/plugins/MyPlugin/MyPlugin.cdl64) [win_dll.cpp(232)]
Cause: Windows System Error #126: The specified module could not be found. [win_dll.cpp(225)]
In the documentation as well as the forum there are hints about an explicit plugin-specific DLL search path that C4D adds in the form
MyPluginDir/resource/libs/win64
I have tried placing my dlls there, but still my plugin fails to load. If I move my extra dlls in the same directory as "CINEMA 4D.exe" everything works as expected.
What do you think is the correct location for such dlls?
Thanks