$Date: 2018-07-07 06:49:13 +0900 (2018/07/07 (土)) $
$Revision: 1347 $
コマンドラインによる Visual Studio コンパイル
Visual Studio 2017 の場合
devenv.com を使います。(devenv.exe でもコンパイルできますが、ビルドログが表示されません)
引数でソリューションファイルのパスを指定します。
/rebuild でリビルドを指定します。その後にビルドする構成を指定します。
/build で差分ビルドを指定します。その後にビルドする構成を指定します。
リビルドの場合
C:\svnwork\ConsoleApplication2>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.com" ConsoleApplication2.sln /rebuild "Release|x86"
1>------ すべてのリビルド開始: プロジェクト:ConsoleApplication2, 構成: Release Win32 ------
1>Source.cpp
1>コード生成しています。
1>All 5 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
1>コード生成が終了しました。
1>ConsoleApplication2.vcxproj -> C:\svnwork\ConsoleApplication2\Release\ConsoleApplication2.exe
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========
差分ビルドの場合
C:\svnwork\ConsoleApplication2>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.com" ConsoleApplication2.sln /build "Release|x86"
========== ビルド: 0 正常終了、0 失敗、1 更新不要、0 スキップ ==========
ソリューションの中の特定のプロジェクトをビルドする場合
/project の後にプロジェクト名を指定することでソリューションの中の特定のプロジェクトをビルドできます。
ここでは sample_program というプロジェクトを指定しています。
C:\gitwork\GitHub\sample\LibrarySample>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.com" LibraryTest.sln ^
/rebuild "Release|Win32" ^
/project sample_program
1>------ すべてのリビルド開始: プロジェクト:ZERO_CHECK, 構成: Release Win32 ------
1>Checking Build System
1>CMake does not need to re-run because C:/gitwork/GitHub/sample/LibrarySample/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/gitwork/GitHub/sample/LibrarySample/Library/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/gitwork/GitHub/sample/LibrarySample/Program/CMakeFiles/generate.stamp is up-to-date.
2>------ すべてのリビルド開始: プロジェクト:Library (library\Library), 構成: Release Win32 ------
2>Building Custom Rule C:/gitwork/GitHub/sample/cmake-sample/LibrarySample/Library/CMakeLists.txt
2>CMake does not need to re-run because C:/gitwork/GitHub/sample/LibrarySample/Library/CMakeFiles/generate.stamp is up-to-date.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86\CL.exe /c /IC:\gitwork\GitHub\sample\LibrarySample\Library /nologo /W3 /WX- /diagnostics:classic /O2 /Ob2 /Oy- /D WIN32 /D _WINDOWS /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D Library_EXPORTS /D _WINDLL /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Library.dir\Release\\" /Fd"Library.dir\Release\vc141.pdb" /Gd /TC /analyze- /errorReport:prompt "C:\gitwork\GitHub\sample\cmake-sample\LibrarySample\Library\Library.c"
2>Library.c
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86\link.exe /ERRORREPORT:PROMPT /OUT:"C:\gitwork\GitHub\sample\LibrarySample\bin\Release\Library.dll" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/gitwork/GitHub/sample/LibrarySample/bin/Release/Library.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/gitwork/GitHub/sample/LibrarySample/Library/Release/Library.lib" /MACHINE:X86 /SAFESEH /machine:X86 /DLL Library.dir\Release\Library.obj
2> ライブラリ C:/gitwork/GitHub/sample/LibrarySample/Library/Release/Library.lib とオブジェクト C:/gitwork/GitHub/sample/LibrarySample/Library/Release/Library.exp を作成中
2>Library.vcxproj -> C:\gitwork\GitHub\sample\LibrarySample\bin\Release\Library.dll
3>------ すべてのリビルド開始: プロジェクト:sample_program, 構成: Release Win32 ------
3>Building Custom Rule C:/gitwork/GitHub/sample/cmake-sample/LibrarySample/Program/CMakeLists.txt
3>CMake does not need to re-run because C:/gitwork/GitHub/sample/LibrarySample/Program/CMakeFiles/generate.stamp is up-to-date.
3>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86\CL.exe /c /I"C:\gitwork\GitHub\sample\cmake-sample\LibrarySample\Program\..\Library" /IC:\gitwork\GitHub\sample\LibrarySample\Program\..\Library /nologo /W3 /WX- /diagnostics:classic /O2 /Ob2 /Oy- /D WIN32 /D _WINDOWS /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"sample_program.dir\Release\\" /Fd"sample_program.dir\Release\vc141.pdb" /Gd /TC /analyze- /errorReport:prompt "C:\gitwork\GitHub\sample\cmake-sample\LibrarySample\Program\Program.c"
3>Program.c
3>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86\link.exe /ERRORREPORT:PROMPT /OUT:"C:\gitwork\GitHub\sample\LibrarySample\bin\Release\sample_program.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib ..\Library\Release\Library.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/gitwork/GitHub/sample/LibrarySample/bin/Release/sample_program.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/gitwork/GitHub/sample/LibrarySample/Program/Release/sample_program.lib" /MACHINE:X86 /SAFESEH /machine:X86 sample_program.dir\Release\Program.obj
3>sample_program.vcxproj -> C:\gitwork\GitHub\sample\LibrarySample\bin\Release\sample_program.exe