Windows рдкрд░ IDE рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдП рдмрд┐рдирд╛ Visual Studio рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╕реНрд░реЛрддреЛрдВ (cpp, cs) рдХрд╛ рд╕рдВрдХрд▓рди

рдЕрдХреНрд╕рд░ рдЫреЛрдЯреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд╡реАрд╡реЗрдЯ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЖрдИрдбреАрдИ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдХрд┐рд╕реА рднреА рдХреЛрдб рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдкреВрд░реНрдг рдкреИрдорд╛рдиреЗ рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк Microsoft (cl.exe) рдФрд░ IDE рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЙрдбреНрдпреВрд▓ (devenv.exe, msdev.exe) рд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЬрд▓реНрджреА рд╕реЗ рдХрдВрд╕реЛрд▓ рдореЛрдб рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдВрдбреЛрдЬ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ (cmd) рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ, рдЬреЛ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде, рд╣рд░ рдХреЛрдИ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдкрдереЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред

Cpp рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛

Vc ++ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб _ compile_and_link.cmd
:: --------------------------------------------------------------------------- :: ::       : :: :: sVSPath -     Visual C++, :: :: sVSPathName -      Visual C++ :: :: (    sVSPath, sVSPathName   .:: :: --------------------------------------------------------------------------- :: echo off cls echo -------------------------------------- echo ---------- .:: -=LEXX=- ::. ---------- echo -------------------------------------- echo ------ %date% [%time%] ------ echo -------------------------------------- :: -------------------------------------- :: ::   ( ) :: :: -------------------------------------- :: set gavSrc=MySource1.cpp MySource2.cpp :: -------------------------------------- :: :: ,  ,  Qt :: :: -  , Q_OBJECT:: ::     moc_xxx.cpp :: :: -------------------------------------- :: ::set gavSrcQtMoc=gavQtSignalSlot.h set gavSrcQtMoc="" :: -------------------------------------- :: ::  : :: :: 6 - VC6, :: :: 8 - VC8 (2005), :: :: 9 - VC9, :: :: 10 - VC10 (2010) :: :: 11 - VC11 (2012) :: :: -------------------------------------- :: set iCompVer=11 :: -------------------------------------- :: ::  : :: :: 0 - release, :: :: 1 - debug, :: :: 2 -    :: :: ( ) :: :: -------------------------------------- :: set iModeComp=1 :: -------------------------------------- :: ::   : :: :: 0 - , 1 -  :: :: -------------------------------------- :: set bLibQt=0 set bLibCrt=0 set bLibBoost=0 :: -------------------------------------- :: ::    Qt: :: :: 0 - shared (), :: :: 1 - static () :: :: -------------------------------------- :: set iModeQt=0 :: -------------------------------------- :: ::   WINDDK :: :: 0 -   :: :: 1 - WINDDK  Win2000, WinXP :: :: (   ..  :: :: gavIncPathDdkXP,gavLibPathDdkXP:: :: - . ) :: :: -------------------------------------- :: set iWinddk=0 :: -------------------------------------- :: ::    :: :: (   : -D ) :: :: -------------------------------------- :: ::set gavCompilFlags=-Dtest :: -------------------------------------- :: ::   ( ) :: :: -------------------------------------- :: :: Win32 character-mode application: set gavSubsystem=CONSOLE :: Application does not require a console: ::set gavSubsystem=WINDOWS :: Device drivers for Windows NT: ::set gavSubsystem=NATIVE :: Application that runs with the POSIX subsystem in Windows NT: ::set gavSubsystem=POSIX :: Application that runs on a Windows CE device: ::set gavSubsystem=WINDOWSCE :: -------------------------------------- :: ::   Visual Studio. :: :: !!!   !!! :: :: -------------------------------------- :: :: VS6 (!!    VS6 ..     -   ) if %iCompVer%==6 set sVSPath=C:\Progs\VC98 if %iCompVer%==6 set sVSPathName=%sVSPath%\bin\cl.exe :: VS8 if %iCompVer%==8 set sVSPath=%SYSTEMDRIVE%\Program Files\Microsoft Visual Studio 8\VC if %iCompVer%==8 set sVSPathName=%sVSPath%\bin\cl.exe :: VS9 if %iCompVer%==9 set sVSPath=%SYSTEMDRIVE%\Program Files\Microsoft Visual Studio 9.0\VC if %iCompVer%==9 set sVSPathName=%sVSPath%\bin\cl.exe :: VS10 if %iCompVer%==10 set sVSPath=%SYSTEMDRIVE%\Program Files\Microsoft Visual Studio 10.0\VC if %iCompVer%==10 set sVSPathName=%sVSPath%\bin\cl.exe :: .  VS2010: if %iCompVer%==10 set gavIncPathMy=%SYSTEMDRIVE%\Program Files\Microsoft SDKs\Windows\v7.0A\Include if %iCompVer%==10 set gavLibPathMy=%SYSTEMDRIVE%\Program Files\Microsoft SDKs\Windows\v7.0A\Lib :: VS11 if %iCompVer%==11 set sVSPath=%SYSTEMDRIVE%\Program Files (x86)\Microsoft Visual Studio 11.0\VC if %iCompVer%==11 set sVSPathName=%sVSPath%\bin\cl.exe :: .  VS2010: if %iCompVer%==11 set gavIncPathMy=%SYSTEMDRIVE%\Program Files (x86)\Windows Kits\8.0\Include\um if %iCompVer%==11 set gavIncPathMy2=%SYSTEMDRIVE%\Program Files (x86)\Windows Kits\8.0\Include\Shared if %iCompVer%==11 set gavLibPathMy=%SYSTEMDRIVE%\Program Files (x86)\Windows Kits\8.0\Include\Lib if %iCompVer%==11 set gavLibPathMy2=%SYSTEMDRIVE%\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86 ::if %iCompVer%==11 set gavLibPathMy2=%SYSTEMDRIVE%\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x64 echo Compilator version: VC%iCompVer% echo Compilator path: %sVSPathName% :: -------------------------------------- :: ::   Boost :: :: -------------------------------------- :: set BOOST_ROOT=C:\Progs\boost\boost_1_49_0 :: -------------------------------------- :: ::     :: :: .     :: ::   ! :: :: -------------------------------------- :: set gavIncPathVS="%sVSPath%\include" set gavIncPathQt="%QTDIR%\include" set gavIncPathBoost="%BOOST_ROOT%" set gavIncPathDdkCrt="C:\Progs\WINDDK\2600.1106\inc\crt" set gavIncPathDdkXP="C:\Progs\WINDDK\2600.1106\inc\w2k" if not "%gavIncPathMy%"=="" (set gavIncPathAll=-I"%gavIncPathMy%" if not "%gavIncPathMy2%"=="" ( set gavIncPathAll=-I"%gavIncPathMy%" -I"%gavIncPathMy2%" ) ) if %iWinddk%==1 (set gavIncPathAll=%gavIncPathAll% -I%gavIncPathDdkCrt% -I%gavIncPathDdkXP%) if not %gavIncPathVS%=="" (set gavIncPathAll=%gavIncPathAll% -I%gavIncPathVS%) if %bLibQt%==1 (if not %gavIncPathQt%=="" (set gavIncPathAll=%gavIncPathAll% -I%gavIncPathQt%)) if %bLibBoost%==1 (if not %gavIncPathBoost%=="" (set gavIncPathAll=%gavIncPathAll% -I%gavIncPathBoost%)) echo Include pathes: %gavIncPathAll% :: -------------------------------------- :: ::     (.lib) :: :: .     :: ::   ! :: :: -------------------------------------- :: set gavLibPathDdkXP=C:\Progs\WINDDK\2600.1106\lib\wxp\i386 set gavLibPathVS=%sVSPath%\lib set gavLibPathAll="" if %iWinddk%==1 (set gavLibPathAll=%gavLibPathAll% /LIBPATH:"%gavLibPathDdkXP%") if not "%gavLibPathVS%"=="" (set gavLibPathAll=%gavLibPathAll% /LIBPATH:"%gavLibPathVS%") if not "%gavLibPathMy%"=="" (set gavLibPathAll=%gavLibPathAll% /LIBPATH:"%gavLibPathMy%" if not "%gavLibPathMy2%"=="" ( set gavLibPathAll=%gavLibPathAll% /LIBPATH:"%gavLibPathMy%" /LIBPATH:"%gavLibPathMy2%" ) ) set gavLibPathBoost="%BOOST_ROOT%\stage\lib" if %bLibBoost%==1 (if not %gavLibPathBoost%=="" (set gavLibPathAll=%gavLibPathAll% /LIBPATH:%gavLibPathBoost%)) set gavLibPathQtReleaseShared="%QTDIR%\lib\release\shared" set gavLibPathQtReleaseStatic="%QTDIR%\lib\release\static" set gavLibPathQtDebugShared="%QTDIR%\lib\debug\shared" set gavLibPathQtDebugStatic="%QTDIR%\lib\debug\static" if %bLibQt%==1 ( if %iModeComp%==0 ( if %iModeQt%==0 ( echo Qt mode: release shared set gavLibPathAll=%gavLibPathAll% /LIBPATH:%gavLibPathQtReleaseShared% ) if %iModeQt%==1 ( echo Qt mode: release static set gavLibPathAll=%gavLibPathAll% /LIBPATH:%gavLibPathQtReleaseStatic% ) ) if %iModeComp%==1 ( if %iModeQt%==0 ( echo Qt mode: debug shared set gavLibPathAll=%gavLibPathAll% /LIBPATH:%gavLibPathQtDebugShared% ) if %iModeQt%==1 ( echo Qt mode: debug static set gavLibPathAll=%gavLibPathAll% /LIBPATH:%gavLibPathQtDebugStatic% ) ) ) echo Lib pathes: %gavLibPathAll% :: -------------------------------------- :: ::   run-time. :: ::      :: :: -------------------------------------- :: set gavLibFilesCrt="" if %bLibCrt%==1 (set gavLibFilesCrt=user32.lib ole32.lib Gdi32.lib Ws2_32.lib Imm32.lib Comdlg32.lib Winspool.lib Advapi32.lib) if not "%gavLibFilesCrt%"=="" (set gavLibFilesAll=%gavLibFilesCrt%) :: -------------------------------------- :: ::   Qt. :: :: -------------------------------------- :: set gavLibFilesQtShared=qtmain.lib qt-mt333.lib set gavLibFilesQtStatic=qtmain.lib qt-mt.lib if %bLibQt%==1 ( if %iModeQt%==0 (set gavLibFilesAll=%gavLibFilesAll% %gavLibFilesQtShared%) if %iModeQt%==1 (set gavLibFilesAll=%gavLibFilesAll% %gavLibFilesQtStatic%) ) echo Lib files: %gavLibFilesAll% :: -------------------------------------- :: ::    :: :: -------------------------------------- :: if %iModeComp%==0 ( set gavLinkMode=/RELEASE ::  DLL: set gavCompMode=/MD set gavCompMode=/MT set gavOptimize=/O2 /GA ) if %iModeComp%==1 ( set gavLinkMode=/DEBUG ::  DLL: set gavCompMode=/MDd set gavCompMode=/MTd ::set gavOptimize=/Od /ZI set gavOptimize=/Od /Z7 ) if %iModeComp%==2 ( set gavLinkMode= set gavCompMode= set gavOptimize=/Zg ) if %bLibQt%==1 (if %iModeQt%==1 (set gavCompMode=/MDd)) :: -------------------------------------- :: ::    :: :: -------------------------------------- :: if not %gavSubsystem%=="" (set gavLinkSubsys=/SUBSYSTEM:%gavSubsystem%) :: -------------------------------------- :: ::   :: :: -------------------------------------- :: if %bLibQt%==1 ( if %iModeQt%==0 (set gavCompilFlags=%gavCompilFlags% -DQT_DLL) ) :: -------------------------------------- :: ::    :: :: -------------------------------------- :: set gavOldObj=%gavSrc:.cpp=.obj,% set gavOldObj=%gavOldObj:.c=.obj,% set gavOldAsm=%gavOldObj:.obj=.asm% for /F "tokens=1" %%A in ("%gavSrc%") do (set gavMainName=%%A) set gavMainName=%gavMainName:.cpp=% set gavMainName=%gavMainName:.c=% set gavDelExt= %gavMainName%.exe, %gavMainName%.pdb, %gavMainName%.ilk, %gavOldObj% %gavOldAsm% __vc++_%gavMainName%.log echo. echo Deleting old files: %gavDelExt% ... echo. del %gavDelExt% echo. echo ------------------ echo Compiling start... echo ------------------ echo. if %bLibQt%==1 (if not %gavSrcQtMoc%=="" ( echo ------------------ echo Mocing file... echo ------------------ echo on %QTDIR%\bin\moc %gavSrcQtMoc% -o moc_%gavSrcQtMoc%.cpp @echo off set gavSrc=%gavSrc% moc_%gavSrcQtMoc%.cpp )) echo on "%sVSPathName%" /EHsc %gavIncPathAll% %gavCompilFlags% /Fa %gavSrc% %gavCompMode% %gavOptimize% /link %gavLinkSubsys% %gavLinkMode% %gavLibPathAll% %gavLibFilesAll%>"__vc++_%gavMainName%.log" @echo off echo. echo ------------------ echo Compiling end... echo ------------------ echo. echo -------------------------------------- echo ------ %date% [%time%] ------ echo -------------------------------------- echo ---------- .:: -=LEXX=- ::. ---------- echo -------------------------------------- :: -------------------------------------- :: pause 



рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
1) "рдкрде рдЯреВ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдЖрдкрдХреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ):
  • sVSPath - рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рдореБрдЦреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдкрде рдЕрд░реНрдерд╛рддреН рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдЬрд┐рд╕рдореЗрдВ рд╡реА.рдПрд╕. рдХреЗ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕рднреА рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • gavIncPathMy - VS 11.0 рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрде рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВред


2) "рдкрд╛рдереНрд╕ рдЯреВ рдмреВрд╕реНрдЯ" рд╕реЗрдХреНрд╢рди рдореЗрдВ, рдЖрдк BOOST_ROOT рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдмреВрд╕реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рд░реВрдЯ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдХрд╛ рдкрде (рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ)ред
3) "рдлрд╛рдЗрд▓ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Qt, WinDDKред
4) "рд▓рд╛рдЗрдмреНрд░реЗрд░реА (.lib) рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрде (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ WinDDK рдХреЗ рд▓рд┐рдП) рд╕реЗрдЯ рд╣реИрдВред

рдХрдо рдмрд╛рд░, рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
iCompVer рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рд╡рд░реНрдЬрди рд╣реИ (6 рдХреЗ рд▓рд┐рдП VC6, 8 рдХреЗ рд▓рд┐рдП VC8 (2005), VC9 рдХреЗ рд▓рд┐рдП 9, VC10 рдХреЗ рд▓рд┐рдП 10 (2010), 11 рдХреЗ рд▓рд┐рдП VC11 (2012)ред
gavLibFilesQtSared - рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рдХреНрдпреВрдЯреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП .lib рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд╛рдо;
gavLibFilesQtStatic - рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ Qt рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП .lib рдлрд╝рд╛рдЗрд▓ рдирд╛рдоред
gavLibFilesCrt - рд╡рд┐рдВрдбреЛрдЬ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдирдХ рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП .рд▓рд┐рдм рдлрд╝рд╛рдЗрд▓ рдирд╛рдоред
iModeQt - Qt рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдВрдХрд┐рдВрдЧ рдореЛрдбред
gavCompMode - рд╕рдВрдХрд▓рди рдореЛрдб рдЭрдВрдбреЗ (рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб, рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб, рдЖрджрд┐)ред
gavOptimize - рд╕рдВрдХрд▓рдХ рдХреЛрдб рдЕрдиреБрдХреВрд▓рди рдЭрдВрдбреЗред

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЖрдкрдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:
gavSrc - рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдирд╛рдо, рдПрдХ рд╕реНрдерд╛рди рд╕реЗ рдЕрд▓рдЧ (рдпрджрд┐ рдХрдИ рд╣реИрдВ)ред
bLibQt - рдзреНрд╡рдЬ ( 0/1 ) рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп Qt рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
bLibCrt - рдзреНрд╡рдЬ ( 0/1 ) рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдорд╛рдирдХ рд╡рд┐рдВрдбреЛрдЬ CRT рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
bLibBoost - рдЭрдВрдбрд╛ ( 0/1 ) рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдмреВрд╕реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ред
gavSubsystem - рдирд┐рд░реНрдорд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╕рдмрд╕рд┐рд╕реНрдЯрдо: CONSOLE - рдХрдВрд╕реЛрд▓, рд╡рд┐рдиреНрдбреЛрдЬрд╝ - рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рдеред

рд╕рдВрдХрд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдо (рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рд╕рдВрджреЗрд╢) рдХреЛ __vc ++ _ XXX.log рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ XXX рдореБрдЦреНрдп рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реИ

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдПрдХ cpp рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг

рдЗрд╕реА рддрд░рд╣, рдЖрдИрдбреАрдИ рд╢реБрд░реВ рдХрд┐рдП рдмрд┐рдирд╛, рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ (рдбреАрдПрд╕рдкреА, рдбреАрдПрд╕рд╡реА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Vc ++_ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб _ dsp_dsw_compile.cmd
 ::        sVSPathName, ::       Visual Studio   ::   sVSPathName    ... @echo off cls echo -------------------------------------- echo ---------- .:: -=LEXX=- ::. ---------- echo -------------------------------------- echo ------ %date% [%time%] ------ echo -------------------------------------- :: -------------------------------------- :: ::    (dsp)   (dsw): set sPrjFile=MyWorkspace.dsp :: -------------------------------------- :: ::  : 0 - release, 1 - debug, 2 - release  debug: set iMode=2 :: -------------------------------------- :: ::   : :: 0 -   , :: 1 -   , :: 2 -    (  iMode=2) set iSubMode=2 :: -------------------------------------- :: ::  : if %sPrjFile:.dsp=% == %sPrjFile% ( set sPrjName=%sPrjFile:.dsw=% ) ELSE ( set sPrjName=%sPrjFile:.dsp=% ) ::   -   release: set sConfigNameRelease="%sPrjName% - Win32 Release" ::   -   debug: set sConfigNameDebug="%sPrjName% - Win32 Debug" :: -------------------------------------- :: ::   Visual Studio: :: set sVSPathName=%SYSTEMDRIVE%\Program Files\Microsoft Visual Studio 6.0\Common\MSDev98\Bin\MSDEV.EXE :: set sVSPathName=%SYSTEMDRIVE%\Program Files\Microsoft Visual Studio 8\Common7\IDE\VCExpress.exe :: set sVSPathName=%SYSTEMDRIVE%\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe :: -------------------------------------- :: :: : if %iSubMode%==0 ( set iCompMode=/CLEAN ) if %iSubMode%==1 ( set iCompMode= ) if %iSubMode%==2 ( set iCompMode=/REBUILD ) :: -------------------------------------- :: echo. echo --------------------------------- echo [%sPrjName%]: compiling start... echo --------------------------------- echo. @echo off if %iMode%==0 ( ::  release: echo [%sPrjName%]: configuration mode: echo %sConfigNameRelease% echo on "%sVSPathName%" %sPrjFile% /MAKE %sConfigNameRelease% %iCompMode% /OUT __vc++_compile_release.log ) @echo off if %iMode%==1 ( ::  debug: echo [%sPrjName%]: configuration mode: echo %sConfigNameDebug% echo on "%sVSPathName%" %sPrjFile% /MAKE %sConfigNameDebug% %iCompMode% /OUT __vc++_compile_debug.log ) @echo off if %iMode%==2 ( ::  release  debug: echo [%sPrjName%]: configuration modes: echo %sConfigNameRelease% echo %sConfigNameDebug% echo on "%sVSPathName%" %sPrjFile% /MAKE %sConfigNameRelease% %iCompMode% /OUT __vc++_compile_release.log "%sVSPathName%" %sPrjFile% /MAKE %sConfigNameDebug% %iCompMode% /OUT __vc++_compile_debug.log ) @echo off echo. echo --------------------------------- echo [%sPrjName%]: compiling end. echo --------------------------------- echo. echo -------------------------------------- echo ------ %date% [%time%] ------ echo -------------------------------------- echo ---------- .:: -=LEXX=- ::. ---------- echo -------------------------------------- :: -------------------------------------- :: pause 



рд╕реАрдПрд╕ рдлрд╛рдЗрд▓реЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛

рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ C # рдХреЗ рд▓рд┐рдП рднреА рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИ:
Vc рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб # _compile_and_link.cmd
 :: --------------------------------------------------------------------------- :: ::       : :: :: sVSPath -     Visual C#, :: :: sVSPathName -      Visual C# :: :: (  sVSPath, sVSPathName   .:: :: --------------------------------------------------------------------------- :: echo off cls echo -------------------------------------- echo ---------- .:: -=LEXX=- ::. ---------- echo -------------------------------------- echo ------ %date% [%time%] ------ echo -------------------------------------- :: -------------------------------------- :: ::   ( ) :: :: -------------------------------------- :: set gavSrc=Program.cs :: -------------------------------------- :: ::  : :: :: 0 - release, :: :: 1 - debug, :: :: -------------------------------------- :: set iModeComp=1 :: -------------------------------------- :: ::   ( ) :: :: -------------------------------------- :: :: /target:exe     ( ) ( : /t:exe) set gavSubsystem=exe :: /target:winexe    Windows ( : /t:winexe) ::set gavSubsystem=winexe :: /target:library   ( : /t:library) ::set gavSubsystem=library :: /target:module  ,        ( : /t:module) ::set gavSubsystem=module :: /target:appcontainerexe    Appcontainer ( : /t:appcontainerexe) ::set gavSubsystem=appcontainerexe :: /target:winmdobj      Windows,  WinMDExp ( : /t:winmdobj) ::set gavSubsystem=winmdobj :: -------------------------------------- :: ::   ( ) :: :: (x86, Itanium, x64, arm  anycpu. :: ::   : anycpu.) :: :: -------------------------------------- :: set gavPlatform=anycpu :: -------------------------------------- :: ::    :: :: -------------------------------------- :: ::set gavCompilFlags= :: -------------------------------------- :: ::   Visual Studio. :: :: !!!   !!! :: :: -------------------------------------- :: set sVSPath=%WINDIR%\Microsoft.NET\Framework\v4.0.30319 set sVSPathName=%sVSPath%\csc.exe :: -------------------------------------- :: ::     :: :: .     :: ::   ! :: :: -------------------------------------- :: set gavIncPathVS="%sVSPath%" if not "%gavIncPathMy%"=="" (set gavIncPathAll=-I"%gavIncPathMy%") if not %gavIncPathVS%=="" (set gavIncPathAll=%gavIncPathAll% -I%gavIncPathVS%) echo Include pathes: %gavIncPathAll% :: -------------------------------------- :: ::     (.lib) :: :: .     :: ::   ! :: :: -------------------------------------- :: set gavLibPathVS=%sVSPath% if not "%gavLibPathVS%"=="" (set gavLibPathAll=/lib:"%gavLibPathVS%") if not "%gavLibPathMy%"=="" (set gavLibPathAll=%gavLibPathAll% /lib:"%gavLibPathMy%") echo Lib pathes: %gavLibPathAll% :: -------------------------------------- :: ::   run-time. :: ::      :: :: -------------------------------------- :: :: set gavLibFilesCrt=user32.lib ole32.lib Gdi32.lib Ws2_32.lib Imm32.lib Comdlg32.lib Winspool.lib Advapi32.lib ::set gavLibFilesCrt="" if not "%gavLibFilesCrt%"=="" (set gavLibFilesAll=%gavLibFilesCrt%) echo Lib files: %gavLibFilesAll% :: -------------------------------------- :: ::    :: :: -------------------------------------- :: if %iModeComp%==0 ( set gavCompilFlags=%gavCompilFlags% /D:_RELEASE set gavCompMode=/debug- set gavOptimize=/optimize+ ) if %iModeComp%==1 ( set gavCompilFlags=%gavCompilFlags% /D:_DEBUG set gavCompMode=/debug+ set gavOptimize=/optimize- ) :: -------------------------------------- :: ::    :: :: -------------------------------------- :: if not %gavSubsystem%=="" (set gavLinkSubsys=/t:%gavSubsystem%) :: -------------------------------------- :: set gavDelExt=*.obj, *.exe, *.log, *.pdb echo. echo Deleting old files: %gavDelExt% ... echo. del %gavDelExt% echo. echo ------------------ echo Compiling start... echo ------------------ echo. echo on "%sVSPathName%" %gavDefine% %gavCompilFlags% %gavCompMode% %gavOptimize% %gavLinkSubsys% /utf8output /fullpaths /platform:%gavPlatform% %gavLibPathAll% %gavLibFilesAll% %gavSrc%>__vc#_compile.log @echo off echo. echo ------------------ echo Compiling end... echo ------------------ echo. echo -------------------------------------- echo ------ %date% [%time%] ------ echo -------------------------------------- echo ---------- .:: -=LEXX=- ::. ---------- echo -------------------------------------- :: -------------------------------------- :: pause 



рд╕рдорд╛рдзрд╛рди рдлрд╝рд╛рдЗрд▓реЛрдВ (sln) рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ (csproj) рд╕реЗ рдПрдХ рд╕реАрдПрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдПрдБ

Vc рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб # _sln_csproj_compile.cmd
 ::        sVSPathName, ::       Visual Studio   ::   sVSPathName    ... @echo off cls echo -------------------------------------- echo ---------- .:: -=LEXX=- ::. ---------- echo -------------------------------------- echo ------ %date% [%time%] ------ echo -------------------------------------- :: -------------------------------------- :: ::    (.csproj)   (sln): set sPrjFile=MyProject.csproj :: -------------------------------------- :: ::  : 0 - release, 1 - debug, 2 - release  debug: set iMode=2 :: -------------------------------------- :: ::   : :: 0 -   , :: 1 -   , :: 2 -    (  iMode=2) set iSubMode=2 :: -------------------------------------- :: ::  : if %sPrjFile:.sln=% == %sPrjFile% ( set sPrjName=%sPrjFile:.sln=% ) ELSE ( set sPrjName=%sPrjFile:.csproj=% ) ::   -   release: :: set sConfigNameRelease="Release|Win32" set sConfigNameRelease="Release" ::   -   debug: :: set sConfigNameDebug="Debug|Win32" set sConfigNameDebug="Debug" :: -------------------------------------- :: ::   Visual Studio: set sVSPathName=%SYSTEMDRIVE%\Program Files (x86)\Microsoft Visual Studio\11.0\Common7\IDE\devenv.exe :: set sVSPathName=%SYSTEMDRIVE%\Program Files\Microsoft Visual Studio 8\Common7\IDE\VCExpress.exe :: set sVSPathName=%SYSTEMDRIVE%\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe :: -------------------------------------- :: :: : if %iSubMode%==0 ( set iCompMode=/Clean ) if %iSubMode%==1 ( set iCompMode= ) if %iSubMode%==2 ( set iCompMode=/Rebuild ) :: -------------------------------------- :: echo. echo --------------------------------- echo [%sPrjName%]: compiling start... echo --------------------------------- echo. @echo off if %iMode%==0 ( ::  release: echo [%sPrjName%]: configuration mode: echo %sConfigNameRelease% echo on "%sVSPathName%" %sPrjFile% /Build %sConfigNameRelease% /Out __vc#_compile_release.log ) @echo off if %iMode%==1 ( ::  debug: echo [%sPrjName%]: configuration mode: echo %sConfigNameDebug% echo on "%sVSPathName%" %sPrjFile% /Build %sConfigNameDebug% /Out __vc#_compile_debug.log ) @echo off if %iMode%==2 ( ::  release  debug: echo [%sPrjName%]: configuration modes: echo %sConfigNameRelease% echo %sConfigNameDebug% echo on "%sVSPathName%" %sPrjFile% /Build %sConfigNameRelease% /Out __vc#_compile_release.log "%sVSPathName%" %sPrjFile% /Build %sConfigNameDebug% /Out __vc#_compile_debug.log Rem /project lxDbLib.csproj /projectconfig Debug ) @echo off echo. echo --------------------------------- echo [%sPrjName%]: compiling end. echo --------------------------------- echo. echo -------------------------------------- echo ------ %date% [%time%] ------ echo -------------------------------------- echo ---------- .:: -=LEXX=- ::. ---------- echo -------------------------------------- :: -------------------------------------- :: pause 



рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдЗрд╕ рдХреЛрдб рдХреА рдереЛрдХрддрд╛ рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдмрд╛рдж рдХреЗ рдХрд╛рдо рдХреА рд╕рд╛рджрдЧреА рджреНрд╡рд╛рд░рд╛ рдореБрдЖрд╡рдЬрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд░ рдХреЛрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЖрдирдВрдж рд▓реЗрддрд╛ рд╣реИ !!!

Source: https://habr.com/ru/post/In215835/


All Articles