some DLL not found - they are called DLL.a
I'm using CodeLite in a Win10 Enterprise environment
All my building software is in D:\usr\local
; the compiler is in D:\usr\local\mingw64_gcc-13.2.0_llvm-17.0.6\bin
, Codelite is in D:\usr\local\codelite-17.8.0
and wxWidgets was downloaded to D:\usr\local\wxWidgets
-- but then installed into D:\usr\local\wxWidgets\lib
, include
, etc.
I have build some DLLs with the mingw
compiler above, which were installed into D:\usr\local\lib
. To build my executable I use the appropriate link options and library path in the project's 'Global Settings'. To run the executable I have speciefied the environment variable PATH in CodeLite (the middle one is for wxWidgets):
Code: Select all
PATH=D:/usr/local/mingw64_gcc-13.2.0_llvm-17.0.6/bin;$(PATH)
PATH=D:/usr/local/lib/gcc_x64_dll;$(PATH)
PATH=D:/usr/local/lib;$(PATH)
For running the executable outside CodeLite I have added these directories to the Path
variable in the 'Advanced system settings' -> 'Environment Variables' section of the Control Panel.
However when I run the executable in CodeLite, I get the error
Code: Select all
==== Program exited with exit code: 3221225781 ====
and when I run it through the debugger, I get a dialog that says
Code: Select all
Debugger exited with the following error string:
"During startup program exited with code 0xc0000135."
Both codes are a sign that one or more DLL cannot be found at runtime.
When I run the executable outside of CodeLite (from the build-Debug\bin
directory) I get a dialog that says the name of one of the DLLs cannot be found. I think that is the first, and that actually none of them can be found.
BUT
It then turns out that although the libraries I buitlt with CodeLite and wxWidgets that I built with CMake have extension .dll
, where the orther libraries (such as OpenBLAS) that I also built with CMake, have extension .dll.a
. One of those is in the error message outside CodeLite.
I have never seen these .dll.a
files before in my life, is it not enough to just put them in the path? Would it be possible to build executables in CodeLite that accept .dll.a
files at runtime?
Preferably I would just want a .dll
file libopenblas.dll
instead of libopenblas.dll.a
but that seems to be set somewhere iin its build settings?