I've managed to reproduce the problem: the Cinema does not load the plugin (r23 and 2025).
To do it, I not only deleted libcurl.dll, libcrypto-3-x64.dll, libcurl-d.dll from Windows/System32. It was enough for r23. For 2025 I was needed also to delete the variable from a PATH to Windows/System32.
Then I've tried to build the static lib of curl. I was thinking that this way will be better. I will not explain all the details, but it didn't - it just finished every build with:
1>LINK : fatal error LNK1104: cannot open file 'curl/libcurl_a_debug.lib'.
And nothing helped to fix that.
So I decided to return to the dynamic libraries. Actually I do not mind to supply the above dlls with my plugin.
I have reverted the binding to the dynamic version of curl and openSSL. Also I have added libcurl.dll, libcrypto-3-x64.dll, libcurl-d.dll to *plugin root/res/libs (not so hoping plugin will start to take them from there).
And I've delete the variable from a PATH (Windows/System32) to make sure it won't catch on these dlls from the System32.
Now I am making the build and it finishes with the success. And when I am starting the r23 - of course there is no plugin.
Yes, -g_console says:
WARNING: Error loading file:///H:/Code/r23/sdk/plugins/firstplugin/ragdoll.xdl64: Could not load dll because of
Could not load libcrypto-3-x64.dll due to Windows System Error #126: The specified module could not be found. [win_dll.cpp(304)].
Could not load libcurl-d.dll due to Windows System Error #126: The specified module could not be found. [win_dll.cpp(304)].. (file:///H:/Code/r23/sdk/plugins/firstplugin/ragdoll.xdl64) [win_dll.cpp(324)]
Cause: Windows System Error #126: The specified module could not be found. [win_dll.cpp(318)] [general.cpp(401)]
Expected. The same problem which clients have.
(And yes, if I will back libcurl.dll, libcrypto-3-x64.dll, libcurl-d.dll to the System32, then my plugin appears in Expression)
So right now I need somehow to fix it so the plugin catch on libcurl.dll, libcrypto-3-x64.dll, libcurl-d.dll not from my Windows/System32 but from *res/libs.
How to do it?
DeepSeek gives me a hint that I can use
void SetDllSearchPath() {
// Set the DLL search path to the res/libs folder
SetDllDirectory(L"res\\libs");
}
// Call this function during plugin initialization
SetDllSearchPath();
But I am not sure is it right?
If it is not, then how to achieve this with maybe the other correct way?