Recently compiled Cocos2d-x test suddenly appeared this error, another compilation will not be resolved.
This error generally occurs for two reasons: one is insufficient disk space, and the other is that the project is too large to allow the PDB file to continue writing.
Originally COCOS2D-X test project inside the "Debug Information Format" is "C7 compatible (/z7)", then I habitually changed to/zi.
In MSDN, it says:
No
Does not generate any debug information, so the compilation is faster.
/z7
for a third-party library's distribution server, it is a strong advantage not to generate a. pdb file. however, the. obj file used for the precompiled header is required during the link phase and during debugging. Assuming that there is only type information (no code) in the. PCH object file, you must also compile using /yl (insert PCH Reference for Debug library) .
/zi
generates a program database (PDB) that includes type information and symbolic debugging information for use by the debugger. Symbolic debugging information includes the name and type of the variable and the function and line number.
/zi does imply /debug (Generate debugging information) .
/ Gm (enable minimal build again) and /z7 Compile-time cannot use /gm .
/zi and debuggableattribute The attribute will not be placed in the assembly metadata; If you want to use it, you must specify it in the source code. This feature can affect the execution-time performance of an application. for a lot of other information about how Debuggable features affect performance and how to mitigate performance impacts, see making images easier to debug.
/zi
generate the program database in a format that supports the Edit and continue feature (as described above). false assumptions You must use this option when you use Edit and Continue debugging. /zi disables all in code, #pragma optimize statement.
/FC (full path to the source file being diagnosed) .
Visible/zi and/zi difference is not small, is the difference between optimization and information integrity, and/z7 is to put the information in obj instead of the PDB, so that the PDB file is too large to write the problem.
Error C3130: Internal Compiler Error: failed to write the inserted code block to the PDB