My wxWidgets application doesn't run in other computers,why?
My wxWidgets application doesn't run in other computers,why?
Hi..
I have created successful an wxWidgets application using Microsoft Visual Studio 2005 but when trying to run my .exe in another computer appears the message:
"The applicaci
I have created successful an wxWidgets application using Microsoft Visual Studio 2005 but when trying to run my .exe in another computer appears the message:
"The applicaci
Last edited by idhan on Sun Mar 19, 2006 7:47 pm, edited 1 time in total.
-
- Filthy Rich wx Solver
- Posts: 203
- Joined: Tue Aug 31, 2004 7:06 pm
- Location: Behind a can of Mountain Dew
- Contact:
Re: My wxWidgets application doesn't run in other computers,
Dependency Walker works like a charm.idhan wrote:Exists any application that indicates the DLL or files necessary to run the application in other machines? How can I make sure that my wxWidgets application can run in any windows xp machine?
Thanks Eco..
The list of DLL according to program "Dependency Walker" is very long, much much more than what VC++ shows that I realy need. Helps the program to group the files automaticamente or it is only show me what I need? I tries it without success.
Here is the list...
MPR.DLL ADVAPI32.DLL COMCTL32.DLL COMDLG32.DLL DCIMAN32.DLL DDRAW.DLL GDI32.DLL GLU32.DLL GLUT32.DLL KERNEL32.DLL MSVCR80.DLL MSVCRT.DLL NTDLL.DLL OLE32.DLL OPENGL32.DLL RPCRT4.DLL SHELL32.DLL SHLWAPI.DLL USER32.DLL ACTIVEDS.DLL ADSLDPC.DLL ADVPACK.DLL APPHELP.DLL ATL.DLL AUTHZ.DLL BROWSEUI.DLL CABINET.DLL CDFVIEW.DLL CERTCLI.DLL CFGMGR32.DLL CLUSAPI.DLL CREDUI.DLL CRYPT32.DLL CRYPTUI.DLL CSCDLL.DLL DBGHELP.DLL DEVMGR.DLL DHCPCSVC.DLL DNSAPI.DLL DUSER.DLL EFSADU.DLL ESENT.DLL GDIPLUS.DLL HLINK.DLL HNETCFG.DLL IMAGEHLP.DLL IMGUTIL.DLL IMM32.DLL INETCOMM.DLL IPHLPAPI.DLL LINKINFO.DLL LZ32.DLL MFC42U.DLL MLANG.DLL MOBSYNC.DLL MPRAPI.DLL MPRUI.DLL MSASN1.DLL MSGINA.DLL MSHTML.DLL MSI.DLL MSIMG32.DLL MSJAVA.DLL MSLS31.DLL MSOERT2.DLL MSRATING.DLL MSSIGN32.DLL MSVCP60.DLL MSWSOCK.DLL NETAPI32.DLL NETCFGX.DLL NETMAN.DLL NETPLWIZ.DLL NETRAP.DLL NETSHELL.DLL NETUI0.DLL NETUI1.DLL NETUI2.DLL NTDSAPI.DLL NTLANMAN.DLL ODBC32.DLL OLEACC.DLL OLEAUT32.DLL OLEDLG.DLL OLEPRO32.DLL POWRPROF.DLL PRINTUI.DLL PSAPI.DLL QUERY.DLL RASAPI32.DLL RASDLG.DLL RASMAN.DLL REGAPI.DLL RTUTILS.DLL SAMLIB.DLL SCECLI.DLL SECUR32.DLL SETUPAPI.DLL SHDOCVW.DLL SHSVCS.DLL TAPI32.DLL URLMON.DLL USERENV.DLL USP10.DLL UTILDLL.DLL UXTHEME.DLL VERSION.DLL W32TOPL.DLL WINHTTP.DLL WININET.DLL WINMM.DLL WINSCARD.DLL WINSPOOL.DRV WINSTA.DLL WINTRUST.DLL WLDAP32.DLL WMI.DLL WS2_32.DLL WS2HELP.DLL WSOCK32.DLL WTSAPI32.DLL WZCDLG.DLL WZCSAPI.DLL WZCSVC.DLL
The list of DLL according to program "Dependency Walker" is very long, much much more than what VC++ shows that I realy need. Helps the program to group the files automaticamente or it is only show me what I need? I tries it without success.
Here is the list...
MPR.DLL ADVAPI32.DLL COMCTL32.DLL COMDLG32.DLL DCIMAN32.DLL DDRAW.DLL GDI32.DLL GLU32.DLL GLUT32.DLL KERNEL32.DLL MSVCR80.DLL MSVCRT.DLL NTDLL.DLL OLE32.DLL OPENGL32.DLL RPCRT4.DLL SHELL32.DLL SHLWAPI.DLL USER32.DLL ACTIVEDS.DLL ADSLDPC.DLL ADVPACK.DLL APPHELP.DLL ATL.DLL AUTHZ.DLL BROWSEUI.DLL CABINET.DLL CDFVIEW.DLL CERTCLI.DLL CFGMGR32.DLL CLUSAPI.DLL CREDUI.DLL CRYPT32.DLL CRYPTUI.DLL CSCDLL.DLL DBGHELP.DLL DEVMGR.DLL DHCPCSVC.DLL DNSAPI.DLL DUSER.DLL EFSADU.DLL ESENT.DLL GDIPLUS.DLL HLINK.DLL HNETCFG.DLL IMAGEHLP.DLL IMGUTIL.DLL IMM32.DLL INETCOMM.DLL IPHLPAPI.DLL LINKINFO.DLL LZ32.DLL MFC42U.DLL MLANG.DLL MOBSYNC.DLL MPRAPI.DLL MPRUI.DLL MSASN1.DLL MSGINA.DLL MSHTML.DLL MSI.DLL MSIMG32.DLL MSJAVA.DLL MSLS31.DLL MSOERT2.DLL MSRATING.DLL MSSIGN32.DLL MSVCP60.DLL MSWSOCK.DLL NETAPI32.DLL NETCFGX.DLL NETMAN.DLL NETPLWIZ.DLL NETRAP.DLL NETSHELL.DLL NETUI0.DLL NETUI1.DLL NETUI2.DLL NTDSAPI.DLL NTLANMAN.DLL ODBC32.DLL OLEACC.DLL OLEAUT32.DLL OLEDLG.DLL OLEPRO32.DLL POWRPROF.DLL PRINTUI.DLL PSAPI.DLL QUERY.DLL RASAPI32.DLL RASDLG.DLL RASMAN.DLL REGAPI.DLL RTUTILS.DLL SAMLIB.DLL SCECLI.DLL SECUR32.DLL SETUPAPI.DLL SHDOCVW.DLL SHSVCS.DLL TAPI32.DLL URLMON.DLL USERENV.DLL USP10.DLL UTILDLL.DLL UXTHEME.DLL VERSION.DLL W32TOPL.DLL WINHTTP.DLL WININET.DLL WINMM.DLL WINSCARD.DLL WINSPOOL.DRV WINSTA.DLL WINTRUST.DLL WLDAP32.DLL WMI.DLL WS2_32.DLL WS2HELP.DLL WSOCK32.DLL WTSAPI32.DLL WZCDLG.DLL WZCSAPI.DLL WZCSVC.DLL
-
- Filthy Rich wx Solver
- Posts: 210
- Joined: Sat May 07, 2005 8:24 pm
- Location: Eskisehir, TURKEY
- Contact:
Re: My wxWidgets application doesn't run in other computers,
[quote="idhan"]Hi..
I have created successful an wxWidgets application using Microsoft Visual Studio 2005 but when trying to run my .exe in another computer appears the message:
"The applicaci
I have created successful an wxWidgets application using Microsoft Visual Studio 2005 but when trying to run my .exe in another computer appears the message:
"The applicaci
- T U R K E Y ?
- I love this country!
WebSites:
http://mebt.sourceforge.net/
http://wxquran.sourceforge.net/
- I love this country!
WebSites:
http://mebt.sourceforge.net/
http://wxquran.sourceforge.net/
- Ryan Norton
- wxWorld Domination!
- Posts: 1319
- Joined: Mon Aug 30, 2004 6:01 pm
Probably a problem with the manifest - see
http://forums.wxwidgets.org/viewtopic.p ... t=manifest
or search the forums for "manifest"
http://forums.wxwidgets.org/viewtopic.p ... t=manifest
or search the forums for "manifest"
[Mostly retired moderator, still check in to clean up some stuff]
I had the same problems, but with the great walkthrough at http://forums.wxwidgets.org/viewtopic.php?t=6357 all my troubles disappeared
This way you don't have the msvc*.dll dependencies either, because you link them statically in your application.
It involves adjusting the compiler settings from 'multithreaded-dll' to 'mutithreaded'. Once all libraries and your project are compiled this way, you should have an application which runs on any windows machine.
If you get 'undefined symbols' while linking, one of your libraries is still build with 'multithreaded-dll', and you have to change and rebuild that one!
goodluck,
Edwin
This way you don't have the msvc*.dll dependencies either, because you link them statically in your application.
It involves adjusting the compiler settings from 'multithreaded-dll' to 'mutithreaded'. Once all libraries and your project are compiled this way, you should have an application which runs on any windows machine.
If you get 'undefined symbols' while linking, one of your libraries is still build with 'multithreaded-dll', and you have to change and rebuild that one!
goodluck,
Edwin
An interesting article: http://www.codeproject.com/cpp/vcredists_x86.asp
errare humanum est
wxWidgets 2.6.2
Visual Studio 2005
wxWidgets 2.6.2
Visual Studio 2005
Edwin is 100% right. I bet my right arm that the problem is the anoying vcrt dependency.
Just recompile / link all your wxWidgets code (including the library itself) to use static linking to the C++ runtime, and your problems will go away
PS: To the wxWidgets dev team:
This kind of trouble seems to repeat itself over and over again, it could be easily solved by modifiyng the vc project that comes with the wxWidgets distro (wx.dsw) to link statically to the vcrt. And since there is no reason whatsoever , why dynamic linking (to the crt) would be better,
Why not set wxWidgets to link statically to the CRT by default?
Just recompile / link all your wxWidgets code (including the library itself) to use static linking to the C++ runtime, and your problems will go away
PS: To the wxWidgets dev team:
This kind of trouble seems to repeat itself over and over again, it could be easily solved by modifiyng the vc project that comes with the wxWidgets distro (wx.dsw) to link statically to the vcrt. And since there is no reason whatsoever , why dynamic linking (to the crt) would be better,
Why not set wxWidgets to link statically to the CRT by default?
Hier Kommt die Sonne...
Well it makes the app a bit smaller if you link dynamically I think, but yes, I agree. It's kind of an annoying little thing I have to do everytime I need to build wxWidgets (i.e. like for 2.6.3). Especially since I have to go to each library, setup this for Debug and Release (as those are the only two I use - but it could potentially be more), which is something like 20 menus by the time I'm finished.cpp wrote:Edwin is 100% right. I bet my right arm that the problem is the anoying vcrt dependency.
Just recompile / link all your wxWidgets code (including the library itself) to use static linking to the C++ runtime, and your problems will go away
PS: To the wxWidgets dev team:
This kind of trouble seems to repeat itself over and over again, it could be easily solved by modifiyng the vc project that comes with the wxWidgets distro (wx.dsw) to link statically to the vcrt. And since there is no reason whatsoever , why dynamic linking (to the crt) would be better,
Why not set wxWidgets to link statically to the CRT by default?
When i finished my first application that used wxWidgets, i had exacly the same problem as the topic starter (idhan), i even posted it here:Well it makes the app a bit smaller if you link dynamically I think
http://forums.wxwidgets.org/viewtopic.php?t=5339
and i was affraid that my allready >2MB app would become >3or4MB if i linked statically, but i tried it, and was very pleased to see that my app was only 10Kb bigger!
And really, if the price for avoiding all the trouble this vcrt redistribution causes is an extra 10kb in my app, im glad to pay it!.
I wonder how many people use static linking to vcrt. maybe we should start a poll
Hier Kommt die Sonne...
Yeah, the difference really is negligable. And it's not like the wxWidgets developers have exactly gone out of their way to make wxWidgets as lightweight as something like, say, FLTK anyways. So generally speaking if that much of an increase bothered you so much, you probably wouldn't be using wxWidgets in the first place. And even then, yeah, you can change it to dynamiccpp wrote:When i finished my first application that used wxWidgets, i had exacly the same problem as the topic starter (idhan), i even posted it here:Well it makes the app a bit smaller if you link dynamically I think
http://forums.wxwidgets.org/viewtopic.php?t=5339
and i was affraid that my allready >2MB app would become >3or4MB if i linked statically, but i tried it, and was very pleased to see that my app was only 10Kb bigger!
And really, if the price for avoiding all the trouble this vcrt redistribution causes is an extra 10kb in my app, im glad to pay it!.
I wonder how many people use static linking to vcrt. maybe we should start a poll
Amen to that Ksmith!
BTW: One thing caught my attention on one of your previous replies, you said:
If so, here
BTW: One thing caught my attention on one of your previous replies, you said:
you mean that when changing the settings, you do it one project at a time in the wx.dsw solution? like you select base, change the settings, then select core, change the settings, etc?I have to go to each library, setup this for Debug and Release (as those are the only two I use - but it could potentially be more), which is something like 20 menus by the time I'm finished.
If so, here
Hier Kommt die Sonne...