https://developer.berlios.de/bugs/?func=detailbug&bug_id=8391&group_id=5358
wcl386.exe -q -d2 -q -bt=nt -r -LC:\wxMSW-2.9.0\lib\wat_dll -LC:\watcom\lib obj\Debug\TestMain.obj obj\Debug\TestApp.obj -fe=bin\Debug\Test.exe wxmsw29ud.lib obj\Debug\resource.res
Warning! W1107: file __wcl__.lnk: line(3): undefined system name: C:\watcom\lib
Warning! W1008: cannot open wxmsw29ud.lib : No such file or directory
wcl386.exe -q -d2 -q -bt=nt -r -LC:\wxMSW-2.9.0\lib\wat_dll -LC:\watcom\lib obj\Debug\TestMain.obj obj\Debug\TestApp.obj -fe=bin\Debug\Test.exe ..\..\wxMSW-2.9.0\lib\wat_dll\wxmsw29ud.lib obj\Debug\resource.resThough it shows 2 errors, but it compiles and links successfully.
Warning! W1107: file __wcl__.lnk: line(3): undefined system name: C:\watcom\lib
Process terminated with status 0 (0 minutes, 15 seconds)
2 errors, 2 warnings
option quiet
name wat_msw\minimal.exe
option caseexact
libpath .\..\..\lib\wat_lib system nt_win ref '_WinMain@16'
file wat_msw\minimal_minimal.obj
library wxmsw28_core.lib
library wxbase28.lib
library wxtiff.lib
library wxjpeg.lib
library wxpng.lib
library wxzlib.lib
library wxregex.lib
library wxexpat.lib
library kernel32.lib
library user32.lib
library gdi32.lib
library comdlg32.lib
library winspool.lib
library winmm.lib
library shell32.lib
library comctl32.lib
library ole32.lib
library oleaut32.lib
library uuid.lib
library rpcrt4.lib
library advapi32.lib
library wsock32.lib
library odbc32.lib
option resource=wat_msw\minimal_sample.res
wlink @minimal.lbc
Which one can be implemented quickly in C::B?
Codeoption caseexact
libpath .\..\..\lib\wat_lib system nt_win ref '_WinMain@16'
Adding the full path can already be done. Nothing to implement in this case.
Adding the full path can already be done. Nothing to implement in this case.
The second workaround (create an external file) is not going to be implemented (like it hasn't for other compilers/linkers too).QuoteCodeoption caseexact
libpath .\..\..\lib\wat_lib system nt_win ref '_WinMain@16'
There has to be a way to pass this option in the command line (so both of your workarounds would become obsolete). Unfortunately I don't have OW installed here so I can't look for it...
/"LIBP <LibDir>"
-------------- Build: Release in Test ---------------
wcl386.exe -q -c -d__WXMSW__ -d__WINDOWS__ -d_WINDOWS -dWXUSINGDLL -dUNICODE -bm -br -bw -bt=nt -zq -xr -xs -wcd=549 -wcd=656 -wcd=657 -wcd=667 -wx -ox -ot -iC:\wxMSW-2.9.0\include -iC:\wxMSW-2.9.0\contrib\include -iC:\wxMSW-2.9.0\lib\wat_dll\mswu -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Release\TestMain.obj TestMain.cpp
TestMain.cpp(83): Warning! W726: col(1) no reference to formal parameter 'event'
TestMain.cpp(80): Note! N392: col(41) definition: 'wxCommandEvent & event' in 'void TestDialog::OnQuit( wxCommandEvent & )'
TestMain.cpp(89): Warning! W726: col(1) no reference to formal parameter 'event'
TestMain.cpp(85): Note! N392: col(42) definition: 'wxCommandEvent & event' in 'void TestDialog::OnAbout( wxCommandEvent & )'
wrc.exe -q -r -fo=obj\Release\resource.res -iC:\wxMSW-2.9.0\include -iC:\wxMSW-2.9.0\lib\wat_dll\mswu -iC:\watcom\h -iC:\watcom\h\nt resource.rc
wcl386.exe -q -c -d__WXMSW__ -d__WINDOWS__ -d_WINDOWS -dWXUSINGDLL -dUNICODE -bm -br -bw -bt=nt -zq -xr -xs -wcd=549 -wcd=656 -wcd=657 -wcd=667 -wx -ox -ot -iC:\wxMSW-2.9.0\include -iC:\wxMSW-2.9.0\contrib\include -iC:\wxMSW-2.9.0\lib\wat_dll\mswu -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Release\TestApp.obj TestApp.cpp
wcl386.exe -q -l=nt -q -bt=nt -r /"LIBP C:\watcom\lib386" /"LIBP C:\watcom\lib386\nt" /"LIBP C:\wxMSW-2.9.0\lib\wat_dll" obj\Release\TestMain.obj obj\Release\TestApp.obj -fe=bin\Release\Test.exe wxmsw29u.lib obj\Release\resource.res
Process terminated with status 0 (0 minutes, 15 seconds)
0 errors, 4 warnings
-------------- Build: Release in Test ---------------
wcl386.exe -q -c -wx -xs -ot -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Release\main.obj main.cpp
wcl386.exe -q /"LIBP C:\watcom\lib386" /"LIBP C:\watcom\lib386\nt" obj\Release\main.obj -fe=.\Test.exe
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
-------------- Build: Debug in Test ---------------
wcl386.exe -q -c -wx -d2 -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Debug\main.obj main.cpp
main.cpp(69): Warning! W726: col(1) no reference to formal parameter 'hPrevInstance'
main.cpp(10): Note! N392: col(32) definition: 'void * hPrevInstance' in 'int stdcall WinMain( void *, void *, char *, int )'
main.cpp(69): Warning! W726: col(1) no reference to formal parameter 'lpszArgument'
main.cpp(11): Note! N392: col(28) definition: 'char * lpszArgument' in 'int stdcall WinMain( void *, void *, char *, int )'
wcl386.exe -q /"LIBP C:\watcom\lib386" /"LIBP C:\watcom\lib386\nt" obj\Debug\main.obj -fe=bin\Debug\Test.exe gdi32.lib user32.lib kernel32.lib
Process terminated with status 0 (0 minutes, 2 seconds)
0 errors, 4 warnings
please do check and test if you can :
m_Programs.LD = wxT("wcl386.exe");
should be
m_Programs.LD = wxT("wlink.exe");
/"LIBP <Lib_Dir>
-"LIBP <Lib_Dir>"
Do we really need those overrides. There are other compilers that also have a different exe for linking (MS ?) ...
If I recall there was also an issue when you wanted to add several dirs ? Those that LIBP allow multiple dirs ?
-------------- Build: Release in TestWin ---------------
wcl386.exe -q -c -wx -ot -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Release\main.obj main.cpp
main.cpp(69): Warning! W726: col(1) no reference to formal parameter 'hPrevInstance'
main.cpp(10): Note! N392: col(32) definition: 'void * hPrevInstance' in 'int stdcall WinMain( void *, void *, char *, int )'
main.cpp(69): Warning! W726: col(1) no reference to formal parameter 'lpszArgument'
main.cpp(11): Note! N392: col(28) definition: 'char * lpszArgument' in 'int stdcall WinMain( void *, void *, char *, int )'
wlink.exe option quiet system nt_win ref '_WinMain@16' LIBP C:\watcom\lib386 LIBP C:\watcom\lib386\nt file obj\Release\main.obj name bin\Release\TestWin.exe
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 4 warnings
-------------- Build: Release in Test ---------------
wcl386.exe -q -c -d__WXMSW__ -d__WINDOWS__ -d_WINDOWS -dWXUSINGDLL -dUNICODE -bm -br -bt=nt -zq -xr -xs -wcd=549 -wcd=656 -wcd=657 -wcd=667 -wx -ot -ox -iC:\wxMSW-2.9.0\include -iC:\wxMSW-2.9.0\contrib\include -iC:\wxMSW-2.9.0\lib\wat_dll\mswu -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Release\TestMain.obj TestMain.cpp
TestMain.cpp(86): Warning! W726: col(1) no reference to formal parameter 'event'
TestMain.cpp(83): Note! N392: col(39) definition: 'wxCloseEvent & event' in 'void TestFrame::OnClose( wxCloseEvent & )'
TestMain.cpp(91): Warning! W726: col(1) no reference to formal parameter 'event'
TestMain.cpp(88): Note! N392: col(40) definition: 'wxCommandEvent & event' in 'void TestFrame::OnQuit( wxCommandEvent & )'
TestMain.cpp(97): Warning! W726: col(1) no reference to formal parameter 'event'
TestMain.cpp(93): Note! N392: col(41) definition: 'wxCommandEvent & event' in 'void TestFrame::OnAbout( wxCommandEvent & )'
wrc.exe -q -r -fo=obj\Release\resource.res -iC:\wxMSW-2.9.0\include -iC:\wxMSW-2.9.0\lib\wat_dll\mswu -iC:\watcom\h -iC:\watcom\h\nt resource.rc
wcl386.exe -q -c -d__WXMSW__ -d__WINDOWS__ -d_WINDOWS -dWXUSINGDLL -dUNICODE -bm -br -bt=nt -zq -xr -xs -wcd=549 -wcd=656 -wcd=657 -wcd=667 -wx -ot -ox -iC:\wxMSW-2.9.0\include -iC:\wxMSW-2.9.0\contrib\include -iC:\wxMSW-2.9.0\lib\wat_dll\mswu -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Release\TestApp.obj TestApp.cpp
wlink.exe option quiet system nt_win ref '_WinMain@16' LIBP C:\watcom\lib386 LIBP C:\watcom\lib386\nt LIBP C:\wxMSW-2.9.0\lib\wat_dll file obj\Release\TestMain.obj file obj\Release\TestApp.obj name bin\Release\Test.exe library wxmsw29u.lib option resource=obj\Release\resource.res
Process terminated with status 0 (0 minutes, 13 seconds)
0 errors, 6 warnings
-------------- Build: Debug in TestConsole ---------------
wcl386.exe -q -c -wx -xs -d2 -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Debug\main.obj main.cpp
wlink.exe option quiet debug watcom all LIBP C:\watcom\lib386 LIBP C:\watcom\lib386\nt file obj\Debug\main.obj name .\TestConsole.exe
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
-------------- Build: Release in TestConsole ---------------
wcl386.exe -q -c -wx -xs -ot -ox -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Release\main.obj main.cpp
wlink.exe option quiet system nt LIBP C:\watcom\lib386 LIBP C:\watcom\lib386\nt file obj\Release\main.obj name .\TestConsole.exe
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
-------------- Build: Debug in TestWin ---------------
wcl386.exe -q -c -wx -d2 -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Debug\main.obj main.cpp
main.cpp(69): Warning! W726: col(1) no reference to formal parameter 'hPrevInstance'
main.cpp(10): Note! N392: col(32) definition: 'void * hPrevInstance' in 'int stdcall WinMain( void *, void *, char *, int )'
main.cpp(69): Warning! W726: col(1) no reference to formal parameter 'lpszArgument'
main.cpp(11): Note! N392: col(28) definition: 'char * lpszArgument' in 'int stdcall WinMain( void *, void *, char *, int )'
wlink.exe option quiet debug watcom all LIBP C:\watcom\lib386 LIBP C:\watcom\lib386\nt file obj\Debug\main.obj name bin\Debug\TestWin.exe library gdi32 library user32 library kernel32
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 4 warnings
-------------- Build: Release in TestWin ---------------
wcl386.exe -q -c -wx -ot -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Release\main.obj main.cpp
main.cpp(69): Warning! W726: col(1) no reference to formal parameter 'hPrevInstance'
main.cpp(10): Note! N392: col(32) definition: 'void * hPrevInstance' in 'int stdcall WinMain( void *, void *, char *, int )'
main.cpp(69): Warning! W726: col(1) no reference to formal parameter 'lpszArgument'
main.cpp(11): Note! N392: col(28) definition: 'char * lpszArgument' in 'int stdcall WinMain( void *, void *, char *, int )'
wlink.exe option quiet system nt_win LIBP C:\watcom\lib386 LIBP C:\watcom\lib386\nt file obj\Release\main.obj name bin\Release\TestWin.exe library gdi32 library user32 library kernel32
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 4 warnings
-------------- Build: Release in TestDLL ---------------
wcl386.exe -q -c -wx -ot -iC:\watcom\h -iC:\watcom\h\nt -fo=obj\Release\main.obj main.cpp
main.cpp(37): Warning! W726: col(1) no reference to formal parameter 'hinstDLL'
main.cpp(15): Note! N392: col(31) definition: 'void * hinstDLL' in 'int stdcall DllMain( void *, unsigned long, void * )'
main.cpp(37): Warning! W726: col(1) no reference to formal parameter 'lpvReserved'
main.cpp(15): Note! N392: col(65) definition: 'void * lpvReserved' in 'int stdcall DllMain( void *, unsigned long, void * )'
wlink.exe option quiet LIBP C:\watcom\lib386 LIBP C:\watcom\lib386\nt name .\TestDLL.dll file obj\Release\main.obj system nt_dll
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 4 warnings