I compile application under msis64 fresh version, openframe version 0.11.2. I’m running the application from mingw64 (“make RunRelease”). The application starts normally.
I copy the necessary libraries (“make copy_dlls”) and run the app from windows.The application crashes without saying anything. By trial and error, I figured out that if I erase the libcrypto-3-x64.dll library, the application starts normally. I found all copies of the library on the disk, tried to substitute the library. Still won’t launch. I erase - it starts. Perhaps my application picks up this library somewhere else, it in turn uses other libraries.
It won’t work on another computer either. If I delete libcrypto-3-x64.dll, it swears that it is not there.
Hi @Igor_Boolygin welcome!!
Can you try out 0.12.0 Release Candidate.
There is a good chance this is fixed in the upcoming release.
Adding @oxillo in case this is something he’s run into.
I’ve never enccountered such case.
libcrypto generally comes as a dependency of libcurl.
in a mingw64 shell, you may run ntldd to see which dll your application is using :
ntldd --recursive <yourapp>.exe
that should result in a long list
ADVAPI32.dll => C:\Windows\SYSTEM32\ADVAPI32.dll (0x0000019390160000)
ntdll.dll => C:\Windows\SYSTEM32\ntdll.dll (0x0000019390c20000)
KERNELBASE.dll => C:\Windows\SYSTEM32\KERNELBASE.dll (0x0000019390c20000)
ext-ms-win-advapi32-registry-l1-1-0.dll => not found
libcrypto-3-x64.dll => C:\N\msys64\mingw64\bin\libcrypto-3-x64.dll (0x0000019390f00000)
The first dlls are Windows system dlls.
libcurl is found in the bin directory (due to make copy_dlls)
libcrypto is used from my mingw64 installation (I’ve voluntarily deleted it from bin folder for illustration purpose !)
I hope it can help you to find the root cause.
guessed to look in the mingw64 shell. I saw the following message there:
terminate called after throwing an instance of ‘Poco::Crypto::CryptoException’
what(): Crypto Exception
It was possible to compile in version 12. Here are the errors:
- missing link to json.http.
add to config.make file
- Swears at the definition of byte in the file:
the problem is that 12 openframework compiles with gcc++17 (in version 11 - gcc++14 (inaccurately)). Version 17 of the compiler has its own std::byte.
So far changed the definition of byte as:
typedef unsigned char byte_17;
and changed its application in files:
objidl.h, wtypesbase.h, objidlbase.h, wtypes.h, oaidl.h
- Swears at the absence of the description ofLogVerbose in the line
49:ofLogVerbose(“ImageUtils::loadHeader”) << "Loading full pixels, may be slow: " << _path;
cured by inserting "#include “ofMain.h” into the file
ofMain.h includes a “using namespace std;” that causes the conflict.
do not include ofMain.h but only the individual needed .h files.