Microsoft Build Logfiles

Under the Extract from Makelog approach, Imagix 4D pulls information from a log of the command line invocations issued for your compiler as your build system compiles your source code. The challenge can be capturing the compiler commands into such a logfile. If you are working with Microsoft Visual Studio and the Microsoft Build tools (MSBuild), the environment can be configured to achieve this command capture.

Build log for Interactive Builds in Visual Studio

To generate build logs with all necessary information for Imagix 4D, in Visual Studio use the [Tools][Options] dialog. In the Build and Run section, set the MSBuild project build log file verbosity to Normal.

Then run the (re)build of the project or solution from the menu or toolbar.

The location of the build logs is specified in the project settings General section. By default, this is $(IntDir)$(MSBuildProjectName).log. Typically, this is in the project intermediate directory named <project>.log. The log file needs to contain lines like:

C:\Program Files (x86)\Microsoft Visual Studio\2019\VC\x86\bin\CL.exe /c /Zi /nologo /W1 /WX- /O2 /Oy- /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"debug\\" /Fd"debug\vc142.pdb" /external:W1 /Gd /TP /analyze- /FC /errorReport:queue main.cpp

These lines are used by the Imagix 4D makelog extraction; the rest of the build log contents are ignored.

Each project in a solution will have its own log file.

Build log for Command Line Builds in Visual Studio

When you use the Developer Command Line to run MSBuild directly, then you need to set the verbosity with the flag /v:normal and redirect the output to a file. For example:

msbuild /v:normal /p:configuration=debug > msbuild.log

The file msbuild.log is by default output to the project source directory.