wxmsw30u_gcc_custom.dll is missing, can't run exe Topic is solved
-
- In need of some credit
- Posts: 1
- Joined: Sun Apr 06, 2014 1:40 pm
wxmsw30u_gcc_custom.dll is missing, can't run exe
Hi,
We have created a project, and I wish to export the exe only to someone who does not have wxWidget nor Code::Blocks 13.12 installed (nor any compiler)
but just wants to test our program (sorta like the .jar file). when I try to run this the .exe found in the Bin > RELEASE folder it gives me this problem
Any help please
We have created a project, and I wish to export the exe only to someone who does not have wxWidget nor Code::Blocks 13.12 installed (nor any compiler)
but just wants to test our program (sorta like the .jar file). when I try to run this the .exe found in the Bin > RELEASE folder it gives me this problem
Any help please
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
You either have to ship the DLLs together with your application or use static linking (SHARED=0 when building both the wxWidgets libraries and your application).
Use the source, Luke!
-
- Earned some good credits
- Posts: 116
- Joined: Fri Sep 25, 2015 2:33 pm
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
I used the following command as per your instructions:
mingw32-make -f makefile.gcc SHARED=0 UNICODE=1 MONOLITHIC=1 RUNTIME_LIBS=static BUILD=release
But now the wxWidgets application isn't compiling.
I get an error at wx/setup.h: no such file or directory.
Am I running the right command???
Please help.
mingw32-make -f makefile.gcc SHARED=0 UNICODE=1 MONOLITHIC=1 RUNTIME_LIBS=static BUILD=release
But now the wxWidgets application isn't compiling.
I get an error at wx/setup.h: no such file or directory.
Am I running the right command???
Please help.
-
- Earned some good credits
- Posts: 116
- Joined: Fri Sep 25, 2015 2:33 pm
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
I solved the dll problem.....
Run the following command:
mingw32-make -j8 -f makefile.gcc BUILD=release SHARED=1 UNICODE=1 VENDOR=custom MONOLITHIC=1
The dll file will be generated......
Run the following command:
mingw32-make -j8 -f makefile.gcc BUILD=release SHARED=1 UNICODE=1 VENDOR=custom MONOLITHIC=1
The dll file will be generated......
- evstevemd
- Part Of The Furniture
- Posts: 2408
- Joined: Wed Jan 28, 2009 11:57 am
- Location: United Republic of Tanzania
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
what is "RUNTIME_LIBS=static" supposed to do? IMHO there is no such flagsly_chandan wrote:I used the following command as per your instructions:
mingw32-make -f makefile.gcc SHARED=0 UNICODE=1 MONOLITHIC=1 RUNTIME_LIBS=static BUILD=release
But now the wxWidgets application isn't compiling.
I get an error at wx/setup.h: no such file or directory.
Am I running the right command???
Please help.
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
The flag exists but is not used for GCC:evstevemd wrote:what is "RUNTIME_LIBS=static" supposed to do? IMHO there is no such flag
RUNTIME_LIBS=static
Links static version of C and C++ runtime libraries into the executable, so that the program does not depend on DLLs provided with the compiler (e.g. Visual C++'s msvcrt.dll or Borland's cc3250mt.dll). Caution: Do not use static runtime libraries when building DLL (SHARED=1)!
- evstevemd
- Part Of The Furniture
- Posts: 2408
- Joined: Wed Jan 28, 2009 11:57 am
- Location: United Republic of Tanzania
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
I think that explains it. I have never Used MSVC (I hated it the first days I tried to learn VS)PB wrote: The flag exists but is not used for GCC:
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
Doublemaxx wrote:
"You either have to ship the DLLs together with your application or use static linking (SHARED=0 when building both the wxWidgets libraries and your application)."
I tried this on my PC. It appears that the exes and the DLLs must be in the same folder. If so, it works. Otherwise, it won't.
Can the configuration be setup so that the DLLs are in 1 folder, but the exes are in separate folders, and can reference the DLLs from the DLL folder? In a typical installation (in my environment), the exes would need to be in multiple folders (related to their respective applications), and would need to access the wx DLLs from the wx DLL folder, and also perhaps other DLLs from other apps. Can such a config be setup and if so, how?
Thanks.
Steven
"You either have to ship the DLLs together with your application or use static linking (SHARED=0 when building both the wxWidgets libraries and your application)."
I tried this on my PC. It appears that the exes and the DLLs must be in the same folder. If so, it works. Otherwise, it won't.
Can the configuration be setup so that the DLLs are in 1 folder, but the exes are in separate folders, and can reference the DLLs from the DLL folder? In a typical installation (in my environment), the exes would need to be in multiple folders (related to their respective applications), and would need to access the wx DLLs from the wx DLL folder, and also perhaps other DLLs from other apps. Can such a config be setup and if so, how?
Thanks.
Steven
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
I believe that the load-time linked DLLs are pretty much always put in the same folder as the EXE(s). If they are not, the standard search order is used by the Windows to locate them.
- evstevemd
- Part Of The Furniture
- Posts: 2408
- Joined: Wed Jan 28, 2009 11:57 am
- Location: United Republic of Tanzania
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
Put dll somewhere and tell installer to add that particular path to the "system path"
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
Generally speaking, that may not be the best idea with common libraries. You risk that some other application added itself into the %PATH% before you and the Windows may load their version of the library which can have the same name but had been built differently, see the DLL search order in my previous post. You may also look up the term "DLL Hell".evstevemd wrote:Put dll somewhere and tell installer to add that particular path to the "system path"
This can be somewhat avoided by naming your wxWidgets DLLs uniquely, e.g. building them with a custom VENDOR (see WXWIN/docs/msw/install.txt). Unless really necessary I would recommend sticking to putting load-time linked DLLs and EXEs to the same directory. It may not be pretty but there is a reason why the applications from MS, Adobe and others are installed this way...
Even the allmighty MS Office has all its applications and DLLs in the single folder and not in separate ones for Word, Excel, PowerPoint and so on. The point is, we are not in the MS DOS era anymore. The user does not need and should not care with what is in the application folder, having to find the executable he wants to launch by himself there: He is supposed to use application shortcuts, be it from the start menu, desktop, pinned on the taskbar...
Last edited by PB on Sat Oct 17, 2015 7:35 pm, edited 2 times in total.
- evstevemd
- Part Of The Furniture
- Posts: 2408
- Joined: Wed Jan 28, 2009 11:57 am
- Location: United Republic of Tanzania
Re: wxmsw30u_gcc_custom.dll is missing, can't run exe
@PB
Putting DLL in same dir as exe is the best and standard way. I gave that because op insisted on putting somewhere else. Naming app dlls strangely to avoid dll hell might prodyce false positives if you have Antivirus a la Avira antivir
Putting DLL in same dir as exe is the best and standard way. I gave that because op insisted on putting somewhere else. Naming app dlls strangely to avoid dll hell might prodyce false positives if you have Antivirus a la Avira antivir
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?