How to make executable for WinXP?
-
- In need of some credit
- Posts: 9
- Joined: Sat Nov 19, 2005 11:29 pm
How to make executable for WinXP?
Hi ... I have made a simple application and I've sent it to my friend to try it .... I builded my soution using VC 2005 Beta with wxWidgets 2.6.2 ... but my friend gets an error message like 'file corrupted' or 'executable configured badly' or something like that (it isn't problem of badly transfered executable) ... I don't know if he has to instal wxWidget libraries or I can build my solution that all WinXP machines can execute it without getting additional libraries ... Need help. Thank you
-
- In need of some credit
- Posts: 9
- Joined: Sat Nov 19, 2005 11:29 pm
using .lib files means linking statically, using .dll means linking dynamically.
If you link statically, you can deliver your .exe app with no other file (except help/resources files that you may need explicitely in your app).
If you link dynamically,
If you link statically, you can deliver your .exe app with no other file (except help/resources files that you may need explicitely in your app).
If you link dynamically,
- *either you deliver the .dll files (and install them in the /Windows[/system] folder, or in your app folder),
*or you consider the .dll is already present on the remote computer (system library, or a library the user must compile/install by himself)
-
- In need of some credit
- Posts: 9
- Joined: Sat Nov 19, 2005 11:29 pm
OK. But I still don't know if I use .libs or .dlls ...
My Additional Dependencies:
wxmsw26_core.lib
wxbase26.lib
wxtiff.lib
wxjpeg.lib
wxpng.lib
wxzlib.lib
wxregex.lib
wxexpat.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
oleacc.lib
odbc32.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbccp32.lib
But I don't know if that explicitly says that I use them in Release linking ...
My Additional Dependencies:
wxmsw26_core.lib
wxbase26.lib
wxtiff.lib
wxjpeg.lib
wxpng.lib
wxzlib.lib
wxregex.lib
wxexpat.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
oleacc.lib
odbc32.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbccp32.lib
But I don't know if that explicitly says that I use them in Release linking ...
-
- In need of some credit
- Posts: 9
- Joined: Sat Nov 19, 2005 11:29 pm
-
- In need of some credit
- Posts: 9
- Joined: Sat Nov 19, 2005 11:29 pm
-
- In need of some credit
- Posts: 9
- Joined: Sat Nov 19, 2005 11:29 pm
Is there some option in VC that says explicitly to link statically or VC when doesn't find some library in AddDependency list links then dynamically ?benedicte wrote:if your wx....lib (in additionnal dependencies) also appear in the Release target (change from Debug to Release in the top combo in the Properties page), then, you use them in Release, too.
-
- In need of some credit
- Posts: 9
- Joined: Sat Nov 19, 2005 11:29 pm
-
- In need of some credit
- Posts: 9
- Joined: Sat Nov 19, 2005 11:29 pm
This is my VC command line for linker:
/OUT:"C:\Documents and Settings\acer\Desktop\*****\proj****\Release\macro.exe" /NOLOGO /LIBPATH:"C:\evolution\wxWidgets-2.6.2\lib" /LIBPATH:"C:\evolution\wxWidgets-2.6.2\contrib\lib" /LIBPATH:"C:\evolution\wxWidgets-2.6.2\lib\vc_lib" /MANIFEST /MANIFESTFILE:"Release\macro.exe.intermediate.manifest" /MACHINE:X86 /ERRORREPORT:PROMPT wxmsw26_core.lib wxbase26.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib odbc32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
and compiler:
/O2 /I "C:\evolution\wxWidgets-2.6.2\include" /I "C:\evolution\wxWidgets-2.6.2\lib\vc_lib\mswd" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D "WINVER=0x0400" /D "STRICT" /FD /EHsc /MD /Fo"Release\\" /Fd"Release\vc80.pdb" /nologo /c /TP /errorReport:prompt
/OUT:"C:\Documents and Settings\acer\Desktop\*****\proj****\Release\macro.exe" /NOLOGO /LIBPATH:"C:\evolution\wxWidgets-2.6.2\lib" /LIBPATH:"C:\evolution\wxWidgets-2.6.2\contrib\lib" /LIBPATH:"C:\evolution\wxWidgets-2.6.2\lib\vc_lib" /MANIFEST /MANIFESTFILE:"Release\macro.exe.intermediate.manifest" /MACHINE:X86 /ERRORREPORT:PROMPT wxmsw26_core.lib wxbase26.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib odbc32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
and compiler:
/O2 /I "C:\evolution\wxWidgets-2.6.2\include" /I "C:\evolution\wxWidgets-2.6.2\lib\vc_lib\mswd" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D "WINVER=0x0400" /D "STRICT" /FD /EHsc /MD /Fo"Release\\" /Fd"Release\vc80.pdb" /nologo /c /TP /errorReport:prompt
so fine ! all your wx....lib files appear in the linker step so you link statically with all these files.interessato wrote:This is my VC command line for linker:
/OUT:"C:\Documents and Settings\acer\Desktop\*****\proj****\Release\macro.exe" /NOLOGO /LIBPATH:"C:\evolution\wxWidgets-2.6.2\lib" /LIBPATH:"C:\evolution\wxWidgets-2.6.2\contrib\lib" /LIBPATH:"C:\evolution\wxWidgets-2.6.2\lib\vc_lib" /MANIFEST /MANIFESTFILE:"Release\macro.exe.intermediate.manifest" /MACHINE:X86 /ERRORREPORT:PROMPT wxmsw26_core.lib wxbase26.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib odbc32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
and compiler:
/O2 /I "C:\evolution\wxWidgets-2.6.2\include" /I "C:\evolution\wxWidgets-2.6.2\lib\vc_lib\mswd" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D "WINVER=0x0400" /D "STRICT" /FD /EHsc /MD /Fo"Release" /Fd"Release\vc80.pdb" /nologo /c /TP /errorReport:prompt
If Visual Studio cannot find one of the .lib files, you'll get an error message, so if you can build your .exe, everything works well.
Now, you have to know the exact error message, it may be not related to wx.
-
- In need of some credit
- Posts: 9
- Joined: Sat Nov 19, 2005 11:29 pm
Hi,
this seems to be triggered by a corrupted Manifest file. It's not very clear how this can happen, so I'm afraid I can be of any specific help here.
You may want to try generating a new Manifest and hope the error goes away then.
HTH, Chris
P.S.: See http://msdn.microsoft.com/library/defau ... ifests.asp
for an example Manifest.
Edit:
http://forums.microsoft.com/MSDN/ShowPo ... 5&SiteID=1 has some discussion on that. That should get you started.
this seems to be triggered by a corrupted Manifest file. It's not very clear how this can happen, so I'm afraid I can be of any specific help here.
You may want to try generating a new Manifest and hope the error goes away then.
HTH, Chris
P.S.: See http://msdn.microsoft.com/library/defau ... ifests.asp
for an example Manifest.
Edit:
http://forums.microsoft.com/MSDN/ShowPo ... 5&SiteID=1 has some discussion on that. That should get you started.
this->signature=NULL;