| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 1088 人关注过本帖
标题:Compiler Fatal Errors C999 through C1999(第一辑)
只看楼主 加入收藏
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
结帖率:95.65%
  问题点数:0  回复次数:14   
Compiler Fatal Errors C999 through C1999(第一辑)
Fatal Error C999:UNKNOWN MESSAGE Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information。
                  This error usually means that you have mixed files from different versions of the compiler, or your compiler installation is corrupted. Use the Programs and Features applet in the Control Panel to repair or reinstall the product.
                   未知的消息请选择Visual C ++帮助菜单上的技术支持命令,或者打开技术支持帮助文件以获取更多信息。
                   这个错误通常意味着你有来自不同版本编译器的混合文件,或者你的编译器安装被破坏了。 使用控制面板中的程序和功能小程序修复或重新安装产品。
Fatal Error C1001:INTERNAL COMPILER ERROR(compiler file file, line number)。
                   The compiler cannot generate correct code for a construct, probably due to the combination of an expression and an optimization option. Try removing one or more optimization options and recompiling the function containing the line indicated in the error message.
                   You can probably fix the problem by removing one or more optimization options. To determine which option is at fault, remove options one at a time and recompile until the error message goes away. The options most commonly responsible are /Og, /Oi, and /Oa. Once you determine which option is responsible, you can disable it using the optimize pragma around the function where the error occurs and continue to use the option for the rest of the module.
                   The Microsoft Knowledge Base has more information about C1001; see http://support.microsoft.com/default.aspx?scid=kb;en-us;134650.
                   Try rewriting the line where the error is reported, or several lines of code surrounding that line.
                   内部编译器错误(编译器文件文件,行号)。
                   编译器无法为构造生成正确的代码,可能是由于表达式和优化选项的组合。 尝试删除一个或多个优化选项并重新编译包含错误消息中指示的行的函数。
                   您可以通过删除一个或多个优化选项来解决该问题。 要确定哪个选项出错,请一次删除一个选项并重新编译,直到错误消息消失。 最常见的选项是/ Og,/ Oi和/ Oa。 一旦确定了哪个选项是负责的,您可以在发生错误的函数周围使用optimize pragma来禁用它,并继续为模块的其余部分使用该选项。
                   Microsoft知识库包含有关C1001的更多信息; 请参阅http://support.microsoft.com/default.aspx?scid=kb;en-us;134650。
                   尝试重写报告错误的行或围绕该行的几行代码。
Fatal Error C1002:compiler is out of heap space in pass 2。
                   The compiler ran out of dynamic memory space during its second pass, probably due to a program with too many symbols or complex expressions
                   To fix by using the following possible solutions。
                   1.Divide the source file into several smaller files.
                   2.Break expressions into smaller subexpressions.
                   3.Remove other programs or drivers that consume memory.
                   编译器在第2遍中没有堆空间。
                   编译器在第二遍时耗尽了动态内存空间,可能是由于程序中符号太多或表达式复杂。
                   使用以下可能的解决方案进行修复。
                   1:将源文件分成几个较小的文件。
                   2:将表达式分解成更小的子表达式。
                   3:删除其他消耗内存的程序或驱动程序。

Fatal Error C1003:error count exceeds number; stopping compilation
                   Errors in the program are too numerous to allow recovery. The compiler must terminate.
                   错误计数超过数量; 停止编译。
                   程序中的错误太多,无法恢复。 编译器必须终止。
Fatal Error C1004:unexpected end of file found。
                   The compiler reached the end of a source file without resolving a construct. The code may be missing one of the following elements:
                   A closing brace。
                   A closing parenthesis。
                   A closing comment marker (*/)
                   A semicolon。
                   To resolve this error, check for the following:
                   The default disk drive has insufficient space for temporary files, which require about twice as much space as the source file.
                   An #if directive that evaluates to false lacks a closing #endif directive.
                   A source file does not end with a carriage return and line feed.
                   发现意外的文件结尾。
                   编译器在不解析构造的情况下到达源文件的末尾。 该代码可能缺少以下元素之一:
                    一个右大括号。
                   右括号。
                   结束评论标记(* /)
                   分号。
                   要解决此错误,请检查以下内容:
                   默认磁盘驱动器没有足够的空间存放临时文件,这需要大约两倍于源文件的空间。
                   #if指令的计算结果为false缺少关闭#endif指令。
                   源文件不会以回车和换行符结束。
 Fatal Error C1005:string too big for buffer。
                   A string in a compiler intermediate file overflowed a buffer.
                   You could get this error when the parameter that you pass to either the /Fd or /Yl compiler options is greater than 256 bytes.
                   字符串对于缓冲区太大。
                   编译器中间文件中的字符串溢出缓冲区。
                   当传递给/ Fd或/ Yl编译器选项的参数大于256字节时,可能会出现此错误。

Fatal Error C1007:unrecognized flag string in option。
                   The command-line option contains an invalid string. Check the CL command line and environment variable for errors.
                   选项中无法识别的标志字符串。
                   命令行选项包含无效的字符串。 检查CL命令行和环境变量是否有错误。

Fatal Error C1008:no input file specified。
                   The compiler was not given a C or C++ source file to compile. Check the CL command line and environment variable for filename specifications.
                   没有指定输入文件。
                   编译器没有被赋予C或C ++源文件进行编译。 检查CL命令行和环境变量的文件名规范。

Fatal Error C1009:compiler limit : macros nested too deeply。
                   The compiler tried to expand too many macros at the same time. The compiler has a limit of 256 levels of nested macros. Split nested macros into simpler macros.
                   编译器限制:宏嵌套过深。
                   编译器试图同时扩展太多的宏。 编译器具有256个嵌套宏级别的限制。 将嵌套宏分解为更简单的宏。

Fatal Error C1010:unexpected end of file while looking for precompiled header. Did you forget to add '#include name' to your source?
                  
                  An include file specified with /Yu is not listed in the source file. This option is enabled by default in most Visual C++ Project types and "stdafx.h" is the default include file specified by this option.
                 In the Visual Studio environment, use one of the following methods to resolve this error:
                 If you do not use precompiled headers in your project, set the Create/Use Precompiled Header property of source files to Not Using Precompiled Headers. To set this compiler option, follow these steps:
                 1:In the Solution Explorer pane of the project, right-click the project name, and then click Properties.
                 2:In the left pane, click the C/C++ folder.
                 3:Click the Precompiled Headers node.
                 4:In the right pane, click Create/Use Precompiled Header, and then click Not Using Precompiled Headers.
                 Make sure you have not inadvertently deleted, renamed or removed header file (by default, stdafx.h) from the current project. This file also needs to be included before any other code in your source files using #include "stdafx.h". (This header file is specified as Create/Use PCH Through File project property)。
                在查找预编译头文件时意外的文件结尾。 你忘了添加'#包括名称'到你的源?
                / Yu中指定的包含文件未在源文件中列出。 大多数Visual C ++ Project类型默认启用此选项,“stdafx.h”是此选项指定的默认包含文件。  
                在Visual Studio环境中,使用以下方法之一来解决此错误:
                如果您在项目中不使用预编译头文件,请将源文件的创建/使用预编译头文件属性设置为不使用预编译头文件。 要设置此编译器选项,请按照下列步骤操作:
                1:在项目的解决方案资源管理器窗格中,右键单击项目名称,然后单击属性。
                2:在左侧窗格中,单击C / C ++文件夹。
                3:单击预编译头节点。
                4:在右窗格中,单击创建/使用预编译的标题,然后单击不使用预编译的标题。
                确保您没有在当前项目中无意中删除,重命名或删除头文件(默认为stdafx.h)。 这个文件还需要包含在使用#include“stdafx.h”的源文件中的任何其他代码之前。 (该头文件被指定为创建/使用PCH通过文件项目属性)。
2018-06-08 21:07
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
Fatal Error C1012:unmatched parenthesis : missing character。
                   The parentheses in a preprocessor directive do not match.
                   无与伦比的括号:缺少字符。
                   预处理器指令中的括号不匹配。

Fatal Error C1013:compiler limit : too many open parentheses。
                   An expression contains too many levels of parentheses in a single expression. Simplify the expression or break it into multiple statements.
                   Prior to Visual C++ 6.0 Service Pack 3, the limit on nested parenthesis in a single expression was 59. Currently, the limit on nested parenthesis is 256.
                   编译器限制:打开的括号过多。
                   表达式在单个表达式中包含太多括号。 简化表达式或将其分解为多个语句。
                   在Visual C ++ 6.0 Service Pack 3之前,单个表达式中嵌套括号的限制为59.目前,嵌套括号的限制为256。

Fatal Error C1014:too many include files : depth = level
                   The nesting of #include directives is too deep. Nested directives can include open files. The source file containing the directive counts as one file.
                   包含文件过多:深度=级别
                   #include指令的嵌套太深了。 嵌套指令可以包含打开的文件。 包含该指令的源文件计为一个文件。
                  
Fatal Error C1016:ifdef expected an identifier#ifndef expected an identifier
                   The conditional compilation directive (#ifdef or #ifndef) has no identifier to evaluate. To resolve the error, specify an identifier.
                   ifdef预期标识符#ifndef预计标识符
                   条件编译指令(#ifdef或#ifndef)没有要评估的标识符。 要解决该错误,请指定一个标识符。
 
Fatal Error C1017:invalid integer constant expression
                   The expression in an #if directive did not exist or did not evaluate to a constant.
                   Constants defined using #define must have values that evaluate to an integer constant if they are used in an #if, #elif, or #else directive.
                   The following sample generates C1017:
                   // C1017.cpp  
                     #define CONSTANT_NAME "YES"  
                     #if CONSTANT_NAME   // C1017  
                     #endif  
                    Possible resolution:
                    // C1017b.cpp  
                    // compile with: /c  
                     #define CONSTANT_NAME 1  
                     #if CONSTANT_NAME  
                     #endif
                   Because CONSTANT_NAME evaluates to a string and not an integer, the #if directive generates fatal error C1017.
                   In other cases, the preprocessor evaluates an undefined constant as zero. This can cause unintended results, as shown in the following sample. YES is undefined, so it evaluates to zero. The expression #if CONSTANT_NAME evaluates to false and the code to be used on YES is removed by the preprocessor. NO is also undefined (zero), so #elif CONSTANT_NAME==NO evaluates to true (0 == 0), causing the preprocessor to leave the code in the #elif portion of the statement — exactly the opposite of the intended behavior.
                   // C1017c.cpp  
                   // compile with: /c  
                   #define CONSTANT_NAME YES  
                   #if CONSTANT_NAME  
                  // Code to use on YES...  
                   #elif CONSTANT_NAME==NO  
                  // Code to use on NO...  
                  #endif  
                   To see exactly how the compiler handles preprocessor directives, use /P, /E, or /EP.
                   无效整数常量表达式
                   #if指令中的表达式不存在或未计算为常量。
                   如果在#if,#elif或#else指令中使用,则使用#define定义的常量必须具有计算为整数常量的值。
                   以下示例生成C1017:
                    // C1017.cpp  
                     #define CONSTANT_NAME "YES"  
                     #if CONSTANT_NAME   // C1017  
                     #endif
                    可能的决议:
                     // C1017b.cpp  
                     // compile with: /c  
                     #define CONSTANT_NAME 1  
                     #if CONSTANT_NAME  
                     #endif
                     由于CONSTANT_NAME计算结果为字符串而不是整数,因此#if指令会生成致命错误C1017。
                     在其他情况下,预处理器将未定义的常量评估为零。 这可能会导致意想不到的结果,如下面的示例所示。 YES是未定义的,所以它的计算结果为零。 表达式#if CONSTANT_NAME的计算结果为false,预处理器将删除YES上使用的代码。 NO也是未定义的(零),因此#elif CONSTANT_NAME == NO的计算结果为true(0 == 0),导致预处理器将代码留在语句的#elif部分 - 与预期行为完全相反。
                     // C1017c.cpp  
                     // compile with: /c  
                     #define CONSTANT_NAME YES  
                     #if CONSTANT_NAME  
                     // Code to use on YES...  
                     #elif CONSTANT_NAME==NO  
                    // Code to use on NO...  
                     #endif  
                     要准确查看编译器如何处理预处理器指令,请使用/ P,/ E或/ EP。

Fatal Error C1018: unexpected #elif
                   The #elif directive appears outside an #if, #ifdef, or #ifndef construct. Use #elif only within one of these constructs.
                   The following sample generates C1018:
                    // C1018.cpp  
                     #elif      // C1018  
                     #endif  
  
                     int main() {}  
                    Possible resolution:
                   // C1018b.cpp  
                    #if 1  
                    #elif  
                    #endif  
  
                   int main() {}  
                    意外#elif
                    #elif指令出现在#if,#ifdef或#ifndef结构之外。 仅在这些构造之一中使用#elif。
                    以下示例生成C1018:
                    // C1018.cpp  
                     #elif      // C1018  
                     #endif  
  
                     int main() {}
                     可能的决议:
                     // C1018b.cpp  
                    #if 1  
                    #elif  
                    #endif  
  
                   int main() {}
Fatal Error C1019:unexpected #else
                  The #else directive appears outside an #if, #ifdef, or #ifndef construct. Use #else only within one of these constructs.
                  The following sample generates C1019:
                  // C1019.cpp  
                   #else   // C1019  
                   #endif  
  
                   int main() {}
                   Possible resolution:
                  // C1019b.cpp  
                  #if 1  
                  #else  
                  #endif  
  
                  int main() {}  
                  意外#else
                  #else指令出现在#if,#ifdef或#ifndef结构之外。 仅在这些结构中使用#else。
                  以下示例生成C1019:
                  // C1019.cpp  
                   #else   // C1019  
                   #endif  
  
                   int main() {}
                   可能的决议:         
                   // C1019b.cpp  
                  #if 1  
                  #else  
                  #endif  
  
                  int main() {}

Fatal Error C1020:unexpected #endif
                  The #endif directive has no matching #if, #ifdef, or #ifndef directive. Be sure each #endif has a matching directive.
                  The following sample generates C1020:
                  // C1020.cpp  
                   #endif     // C1020  
                  Possible resolution:
                  // C1020b.cpp  
                  // compile with: /c  
                   #if 1  
                   #endif
                   意外#endif
                   #endif指令没有匹配的#if,#ifdef或#ifndef指令。 确保每个#endif都有一个匹配的指令。
                   以下示例生成C1020:
                   // C1020.cpp  
                   #endif     // C1020  
                  可能的决议:
                  // C1020b.cpp  
                  // compile with: /c  
                   #if 1  
                   #endif
2018-06-08 21:07
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
Fatal Error C1021:invalid preprocessor command 'string'
                   string is not a valid preprocessor directive. To resolve the error, use a valid preprocessor name for string.
                   The following sample generates C1021:
                    // C1021.cpp  
                    #BadPreProcName    // C1021 delete line
                    无效的预处理器命令“字符串”
                    字符串不是有效的预处理器指令。 要解决该错误,请为字符串使用有效的预处理器名称。
                    以下示例生成C1021:
                    // C1021.cpp  
                    #BadPreProcName    // C1021 delete line
Fatal Error C1022:  expected #endif
                    An #if, #ifdef, or #ifndef directive has no matching #endif directive. Be sure each #if, #ifdef, or #ifndef has a matching #endif.
                    The following sample generates C1022:
                    // C1022.cpp  
                     #define true 1  
                     #if (true)  
                     #else   
                     #else    // C1022  
                     Possible resolution:
                    // C1022b.cpp  
                    // compile with: /c  
                    #define true 1  
                    #if (true)  
                    #else   
                    #endif  
                    预计#endif
                    #if,#ifdef或#ifndef指令没有匹配的#endif指令。 确保每个#if,#ifdef或#ifndef都有匹配的#endif。
                    以下示例生成C1022:   
                     / C1022.cpp  
                     #define true 1  
                     #if (true)  
                     #else   
                     #else    // C1022  
                     可能的决议:
                    // C1022b.cpp  
                    // compile with: /c  
                    #define true 1  
                    #if (true)  
                    #else   
                    #endif  
Fatal Error C1023: file' : unexpected error with pch, try rebuilding the pch
                   C1023 could be caused by one of several problems, the solution to which is a rebuild of the precompiled header file.
                   C1023 may be caused if you attempt to use a precompiled header file on a machine other than the one on which it was built.
                   文件':与pch出现意外错误,请尝试重新生成pch
                   C1023可能是由几个问题之一引起的,解决方法是重新编译预编译头文件。
                   如果您尝试在非构建它的机器上使用预编译头文件,可能会导致C1023。
Fatal Error C1026: parser stack overflow, program too complex
                   The space required to parse the program caused a compiler stack overflow.
                   Decrease the complexity of expressions by:
                   Decreasing nesting in for and switch statements. Put more deeply nested statements in separate functions.
                   Breaking up long expressions that involve comma operators or function calls.
                   解析器堆栈溢出,程序太复杂
                   解析程序所需的空间导致编译器堆栈溢出。
                   通过以下方式降低表达的复杂度:
                   减少for和switch语句中的嵌套。 将更深入的嵌套语句放在单独的函数中。
                   分解涉及逗号运算符或函数调用的长表达式。
Fatal Error C1033: cannot open program database pdb
                   This error can be caused by disk error.
                   In Visual C++ .NET 2002, the user locale must be set correctly when the file name (or directory path to the file name) contains MBCS characters. Setting the system locale is not sufficient; the user locale must be set to process MBCS characters.
                   For more information, see http://support.microsoft.com/default.aspx?scid=kb;en-us;246007.
                   无法打开程序数据库pdb
                   此错误可能是由磁盘错误引起的。
                   在Visual C ++ .NET 2002中,当文件名(或文件名的目录路径)包含MBCS字符时,必须正确设置用户区域设置。 设置系统区域是不够的; 用户区域设置必须设置为处理MBCS字符。
                   有关更多信息,请参阅http://support.microsoft.com/default.aspx?scid=kb;en-us;246007。
Fatal Error C1035: expression too complex; simplify expression
                   The compiler could not generate code for a complex expression. Split the expression into simpler expressions and recompile.
                   表情太复杂; 简化表达
                   编译器无法为复杂表达式生成代码。 将表达式拆分为更简单的表达式并重新编译。
Fatal Error C1037: cannot open object file filename
                   The object file specified by /Fo cannot be opened.
                   To fix by checking the following possible causes
                   Invalid filename.
                   Insufficient memory to open the file.
                   Another process is using the file.
                   A read-only file has the same name.
                   In Visual C++ .NET (version 1300 of the compiler), there is a bug that requires the user locale to be set correctly when the file name (or directory path to the file name) contains MBCS characters. Setting the system locale is not sufficient; the user locale must be set to process MBCS characters.
                   无法打开目标文件的文件名
                   他/ object指定的目标文件无法打开。
                   通过检查以下可能的原因来解决问题
                   无效的文件名。
                   内存不足以打开文件。
                   另一个过程是使用该文件。
                   只读文件具有相同的名称。
                   在Visual C ++ .NET(版本1300的编译器)中,存在一个错误,当文件名(或文件名的目录路径)包含MBCS字符时,需要正确设置用户区域设置。 设置系统区域是不够的; 用户区域设置必须设置为处理MBCS字符。
Fatal Error C1038: compiler limit : function : control flow state too complex; simplify function
                   The function has more control-flow states than the compiler can handle. Simplify control flow or split the function into smaller functions.
                   编译器限制:功能:控制流程状态太复杂; 简化功能
                   该函数具有比编译器可处理更多的控制流状态。 简化控制流程或将功能分解为更小的功能。
2018-06-08 21:07
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
Fatal Error C1045: compiler limit : linkage specifications nested too deeply
                   Nested externals exceed the compiler limit. Nested externals are allowed with the external linkage type, such as extern "C++". Reduce the number of nested externals to resolve the error.
                   编译器限制:链接规范嵌套过深
                   嵌套外部超出编译器限制。 外部连接类型允许嵌套外部连接,如extern“C ++”。 减少嵌套的外部数量来解决错误。
Fatal Error C1046: compiler limit : structure nested too deeply
                   The structure, union, or class exceeded the nesting limit, which is 15 levels. Rewrite the definition to reduce the nesting level. Split the structure, union, or class into two or more parts by using typedef to define one or more of the nested structures.
                   编译器限制:结构嵌套太深
                   结构,工会或班级超过了15层的嵌套限制。 重写定义以降低嵌套级别。 通过使用typedef来定义一个或多个嵌套结构,将结构,联合或类拆分为两个或更多个部分。
Fatal Error C1047:The object or library file 'file' was created with an older compiler than other objects; rebuild old objects and libraries
                  C1047 is caused when object files or libraries built with /LTCG are linked together, but where those object files or libraries are built with different versions of the Visual C++ toolset.
                  This can happen if you begin using a new version of the compiler but do not do a clean rebuild of existing object files or libraries.
                  To resolve C1047, rebuild all object files or libraries.
                  对象或库文件'文件'是使用比其他对象更旧的编译器创建的; 重建旧的对象和库
                  当使用/ LTCG构建的对象文件或库链接在一起时,会导致C1047,但这些对象文件或库是使用不同版本的Visual C ++工具集构建的。
                  如果您开始使用新版本的编译器,但不执行现有对象文件或库的干净重建,则可能会发生这种情况。
                  要解析C1047,请重建所有对象文件或库。
Fatal Error C1051: program database file, 'pdbfile', has an obsolete format, delete it and recompile
                   The compiler cannot update the program database file, which has an older version number. Delete the file and recompile your program with /Zi or /ZI. For more information, see /Z7, /Zi, /ZI (Debug Information Format)
                   程序数据库文件'pdbfile'具有过时的格式,请将其删除并重新编译  
                   编译器无法更新具有较旧版本号的程序数据库文件。 删除文件并用/ Zi或/ ZI重新编译程序。 有关更多信息,请参阅/ Z7,/ Zi,/ ZI(调试信息格式)
Fatal Error C1053: identifier>' : function too large
                   The function is too large to compile.
                   To fix by using the following possible solutions
                   Try compiling without optimizations.
                   Divide the function into smaller functions.
                   Reduce calls to inline functions.
                   标识符>':功能太大
                   该函数太大而无法编译。
                   使用以下可能的解决方案进行修复
                   尝试编译没有优化。
                   将函数分成更小的函数。
                   减少对内联函数的调用。
Fatal Error C1054: compiler limit : initializers nested too deeply
                   The code exceeds the nesting limit on initializers (10-15 levels, depending on the combination of types being initialized).
                   To fix by using the following possible solutions
                   Simplify the data types being initialized to reduce nesting.
                   Initialize variables in separate statements after the declaration.
                   编译器限制:初始化器嵌套得太深
                   代码超出初始化程序的嵌套限制(10-15级,取决于初始化类型的组合)。
                   使用以下可能的解决方案进行修复
                   简化正在初始化的数据类型以减少嵌套。
                   声明后,在单独的语句中初始化变量。
Fatal Error C1055: compiler limit : out of keys
                   The source file contains too many symbols. The compiler ran out of hash keys for the symbol table.
                   To fix by using the following possible solutions
                   Split the source file into smaller files.
                   Eliminate unnecessary header files.
                   Reuse temporary and global variables instead of creating new ones.
                   编译器限制:超出密钥
                   源文件包含太多符号。 编译器耗尽了符号表的散列键。
                   使用以下可能的解决方案进行修复
                   将源文件拆分为更小的文件。
                   消除不必要的头文件。
                   重用临时变量和全局变量,而不是创建新变量。

Fatal Error C1057: unexpected end of file in macro expansion
                   The compiler reached the end of the source file while gathering macro-invocation arguments, probably due to a missing right parenthesis in the macro invocation.
                   宏扩展中文件的意外结束
                   编译器在收集宏调用参数时到达源文件的末尾,可能是由于宏调用中缺少右括号。

Fatal Error C1060: compiler is out of heap space
                   The operating system or run-time library cannot fill a request for memory.
                   To fix this error try the following possible solutions
                   1.If the compiler also issues errors C1076 and C3859, use the /Zm compiler option to lower the memory allocation limit. More heap space is available to your application if you lower the remaining memory allocation.
                     If the /Zm option is already set, try removing it. Heap space might be exhausted because the memory allocation limit specified in the option is too high. The compiler uses a default limit if you remove the /Zm option.
                   2.If you are compiling on a 64-bit platform, use the 64-bit compiler toolset. For information, see How to: Enable a 64-Bit Visual C++ Toolset on the Command Line.
                   3.On 32-bit Windows, try using the /3GB boot.ini switch.
                   4.Increase the size of the Windows swap-file.
                   5.Close other running programs.
                   6.Eliminate unnecessary include files.
                   7.Eliminate unnecessary global variables, for example, by allocating memory dynamically instead of declaring a large array.
                   8.Eliminate unused declarations.
                   9.Split the current file into smaller files.
                   编译器不在堆空间中
                   操作系统或运行时库无法填充内存请求。
                   要解决此错误,请尝试以下可能的解决方案
                   1. 如果编译器也发出错误C1076和C3859,请使用/ Zm编译器选项来降低内存分配限制。 如果降低剩余的内存分配,则可以为应用程序提供更多的堆空间。
                      如果/ Zm选项已设置,请尝试删除它。 堆空间可能已耗尽,因为该选项中指定的内存分配限制过高。 如果删除/ Zm选项,编译器将使用默认限制。
                   2. 如果您在64位平台上编译,请使用64位编译器工具集。 有关信息,请参阅如何:在命令行上启用64位Visual C ++工具集。
                   3. 在32位Windows上,尝试使用/ 3GB boot.ini开关。
                   4. 增加Windows交换文件的大小。
                   5. 关闭其他运行的程序。
                   6. 消除不必要的包含文件。
                   7. 消除不必要的全局变量,例如,通过动态分配内存而不是声明大数组。
                   8. 消除未使用的声明。   
                   9. 将当前文件拆分成更小的文件。

Fatal Error C1061: compiler limit : blocks nested too deeply
                   Nesting of code blocks exceeds the limit of 128 nesting levels. This is a hard limit in the compiler for both C and C++, in both the 32-bit and 64-bit tool set. The count of nesting levels can be increased by anything that creates a scope or block. For example, namespaces, using directives, preprocessor expansions, template expansion, exception handling, loop constructs, and else-if clauses can all increase the nesting level seen by the compiler.
                   To fix this error you must refactor your code. In any case, deeply nested code is difficult to understand and reason about. Refactoring your code to have fewer nesting levels may improve code quality and simplify maintenance. Break deeply nested code into functions that are called from the original context. Limit the number of loops or chained else-if clauses within a block.
                   编译器限制:嵌套过深
                   代码块的嵌套超过了128个嵌套级别的限制。 在32位和64位工具集中,这对于C和C ++的编译器都是一个硬性限制。 嵌套级别的数量可以通过创建范围或块的任何内容来增加。 例如,命名空间,使用指令,预处理器扩展,模板扩展,异常处理,循环结构和else-if子句都可以增加编译器看到的嵌套级别。
                   要解决这个错误,你必须重构你的代码。 无论如何,深层嵌套的代码很难理解和推理。 重构代码以减少嵌套级别可以提高代码质量并简化维护。 将深层嵌套代码打破从原始上下文中调用的函数。 限制一个块内的循环数或链接else子句。

Fatal Error C1064: compiler limit : token overflowed internal buffer
                   An identifier exceeds the length of the internal buffer used for identifiers. Shorten the name.
                   编译器限制:令牌溢出内部缓冲区
                   标识符超过用于标识符的内部缓冲区的长度。 缩短名称。
Fatal Error C1065: compiler limit : out of tags
                   The source file contains more than 65,523 classes, structs, unions, namespaces, or enums.
                   Split the file into smaller files.
                   编译器限制:超出标签
                   源文件包含超过65,523个类,结构体,联合体,命名空间或枚举。
                   将文件分割成更小的文件。
2018-06-08 21:08
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
Fatal Error C1067: compiler limit : 64K limit on size of a type record has been exceeded
                   This error could occur if a symbol has a decorated name exceeding 247 characters. To resolve, shorten the symbol name.
                   When the compiler generates debug information, it emits type records to define types encountered in source code. For example, type records include simple structures and argument lists of functions. Some of these type records can be large lists.
                   There is a 64K limit on the size of any type record. If that 64K limit is exceeded then this error will occur.
                   C1067 can also occur if there are many symbols with long names or if a class, struct, or union has too many members.
                   编译器限制:超过了对类型记录大小的64K限制
                   如果符号的装饰名称超过247个字符,则可能会出现此错误。 要解决,请缩短符号名称。
                   当编译器生成调试信息时,它会发出类型记录来定义在源代码中遇到的类型。 例如,类型记录包括简单的结构和函数的参数列表。 其中一些类型的记录可能是大型列表。
                   任何类型记录的大小都有64K的限制。 如果超过64K的限制,则会发生此错误。  
                   如果有很多带有长名称的符号,或者类,结构或联合的成员太多,则也会出现C1067。
Fatal Error C1068: cannot open file 'file'
                   Ensure that file is not in use by another program.
                   无法打开文件'文件'
                   确保该文件未被其他程序使用。
Fatal Error C1070: mismatched #if/#endif pair in file 'filename'
                   An #if, #ifdef, or #ifndef directive has no corresponding #endif.
                   The following sample generates C1070:
                   // C1070.cpp  
                    #define TEST  
                    #ifdef TEST  
                    #ifdef TEST  
                    #endif  
                   // C1070  
                    Possible resolution:
                   // C1070b.cpp  
                   // compile with: /c  
                   #define TEST  
                   #ifdef TEST  
                   #endif  
                   #ifdef TEST  
                   #endif
                   在文件'filename'中不匹配#if /#endif对
                   #if,#ifdef或#ifndef指令没有对应的#endif。
                   以下示例生成C1070:
                   // C1070.cpp  
                    #define TEST  
                    #ifdef TEST  
                    #ifdef TEST  
                    #endif  
                   // C1070  
                    可能的决议:
                   // C1070b.cpp  
                   // compile with: /c  
                   #define TEST  
                   #ifdef TEST  
                   #endif  
                   #ifdef TEST  
                   #endif
Fatal Error C1071: unexpected end of file found in comment
                    The compiler reached the end of the file while scanning a comment.
                    To fix by checking the following possible causes
                    Missing comment terminator (*/).
                    Missing newline character after a comment on the last line of a source file.
                    The following sample generates C1071:
                    // C1071.cpp  
                     int main() {  
                     }  
  
                     /* this comment is fine */  
                     /* forgot the closing tag        // C1071  
                     在评论中发现意外的文件结尾
                     编辑器在扫描评论时到达文件末尾。
                     通过检查以下可能的原因来解决问题
                     缺少注释终止符(* /)。
                     注释源文件的最后一行后缺少换行符。
                     以下示例生成C1071:
                     / C1071.cpp  
                     int main() {  
                     }  
  
                     /* this comment is fine */  
                     /* forgot the closing tag        // C1071  

Fatal Error C1073: Internal error involving incremental compilation (compiler file 'filename', line number)
                    Recompile the file without using incremental compilation.
                    涉及增量编译的内部错误(编译器文件'文件名',行号)
                    在不使用增量编译的情况下重新编译文件。
Fatal Error C1074: IDB' is illegal extension for PDB file: filename
                    The compiler expects program databases to have the .pdb extension.
                    IDB'是PDB文件的非法扩展名:文件名
                    编译器希望程序数据库具有.pdb扩展名。
Fatal Error C1075: the left token was unmatched at the end of the file
                    The compiler expected matching token before it reached the end of file.
                    This error can be caused by an unmatched bracket, brace, or other paired character.
                    左侧的令牌在文件结尾处不匹配。
                    编译器希望匹配令牌在到达文件结尾之前。
                    此错误可能是由不匹配的括号,大括号或其他配对字符引起的。
Fatal Error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
                    This error can be caused by too many symbols, or too many template instantiations.
                    To resolve this error:
                    1.Use the /Zm option to set the compiler memory limit to the value specified in the C3859 error message. For more information that includes how to set this value in Visual Studio, see the Remarks section in /Zm (Specify Precompiled Header Memory Allocation Limit).
                    2.If you are using the 32-bit hosted compilers on a 64-bit operating system, use the 64-bit hosted compilers instead. For more information, see How to: Enable a 64-Bit Visual C++ Toolset on the Command Line.
                    3.Eliminate unnecessary include files.
                    4.Eliminate unnecessary global variables—for example, by allocating memory dynamically instead of declaring a large array.
                    5.Eliminate unused declarations.
                    6.Split large functions into smaller functions.
                    7.Split large classes into smaller classes.
                    8.Split the current file into smaller files.
                    If C1076 occurs immediately after the build starts, the value specified for /Zm is probably too high for your program. Reduce the /Zm value.
                    编译器限制:达到内部堆栈限制; 使用/ Zm来指定一个更高的限制.
                    这个错误可能是由过多的符号或太多的模板实例引起的。
                    要解决此错误:
                    1.使用/ Zm选项将编译器内存限制设置为C3859错误消息中指定的值。 有关如何在Visual Studio中设置此值的更多信息,请参阅/ Zm(指定预编译头部内存分配限制)中的“注释”部分。
                    2.如果您在64位操作系统上使用32位托管编译器,请改为使用64位托管编译器。 有关更多信息,请参见如何:在命令行上启用64位Visual C ++工具集。
                    3.消除不必要的包含文件。
                    4.消除不必要的全局变量 - 例如,动态分配内存而不是声明大数组。
                    5.消除未使用的声明。
                    6.将大型功能拆分成更小的功能。
                    7.将大类分成更小的类。
                    8.将当前文件拆分成更小的文件。
                    如果C1076在构建开始后立即出现,则为/ Zm指定的值对于您的程序可能太高。 降低/ Zm值。
Fatal Error C1077:  compiler limit : cannot have more than number command line options
                    The number of command-line options exceeds the internal limit.
                    There may be too many symbols defined with /D. (Place the definitions in a header file instead.)
                    编译器限制:不能超过数字命令行选项
                    命令行选项的数量超出了内部限制。
                    / D定义的符号可能太多。 (改为将定义放在一个头文件中。)
Fatal Error C1079:  compiler limit : PCH file size limit exceeded
                    The PCH file exceeds the 4 GB size limit.
                    编译器限制:超出PCH文件大小限制
                    PCH文件超过4 GB的大小限制。
Fatal Error C1080:  compiler limit : command line option exceeded limit of number characters
                    An argument passed to the compiler exceeds 256 characters.
                    编译器限制:命令行选项超过数字字符的限制
                    传递给编译器的参数超过256个字符。
Fatal Error C1081:  symbol': file name too long
                    The length of a file pathname exceeds _MAX_PATH (defined by STDLIB.h as 260 characters). Shorten the name of the file.
                    If you call CL.exe with a short filename, the compiler may need to generate a full pathname. For example, cl -c myfile.cpp may cause the compiler to generate:
                    D:\<very-long-directory-path>\myfile.cpp  
                    符号':文件名太长
                    文件路径名的长度超过_MAX_PATH(由STDLIB.h定义为260个字符)。 缩短文件的名称。
                    如果使用短文件名调用CL.exe,编译器可能需要生成完整的路径名。 例如,cl -c myfile.cpp可能会导致编译器生成:
                    D:\<very-long-directory-path>\myfile.cpp  
Fatal Error C1082:  Cannot close filetype file: 'file': message
                    If the message says "bad file number", the file may have been closing in the foreground while compiling in the background.
                    无法关闭文件类型文件:'文件':消息
                    如果消息显示“坏文件编号”,则在后台编译时文件可能在前台关闭。
2018-06-08 21:09
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
Fatal Error C1083:  Cannot open filetype file: 'file': message
                    The compiler generates a C1083 error when it can’t find a file. Here are the common reasons why the compiler generates this error.
                    The specified file name is wrong
                    The name of a file may be mistyped. For example,
                    #include <algorithms.h>
                    might not find the file you intend. There is a Standard C++ Library header file named algorithms that does not have a .h file name extension. It would not be found by this include directive. To fix this issue, verify that the correct file name is entered.
                    Certain C Runtime Library headers are located in a subdirectory of the standard include directory. For example, to include sys\types.h, you must include the sys subdirectory name in the include directive:
                    #include <sys\types.h>
                    The file is not included in the compiler search path
                    The compiler cannot find the file by using the search rules that are indicated by an include or import directive. For example, a header file name that is enclosed by quotation marks
                    #include "myincludefile.h"
                    tells the compiler to look for the file in the same directory that contains the source file first, and then look in other locations specified by the build environment. If the quotation marks contain an absolute path, the compiler only looks for the file at that location. If the quotation marks contain a relative path, the compiler looks for the file in the directory relative to the source directory. If the name is enclosed by angle brackets.
                    #include <stdio.h>
                    the compiler follows a search path that is defined by the build environment, the /I compiler option, the /X compiler option, and the INCLUDE environment variable. For more information, including specific details about the search order used to find a file, see #include Directive (C/C++) and #import Directive.
                    Even when header files are listed in Solution Explorer as part of a project, the files are only found by the compiler when they are referred to by an include or import directive and are located on a directory search path. Different kinds of builds might use different search paths. The /X compiler option can be used to exclude directories from the include file search path. This enables different builds to use different include files that have the same name, but are kept in different directories. This is an alternative to conditional compilation by using preprocessor commands. For more information about the /X compiler option, see /X (Ignore Standard Include Paths).  
                    When the compiler is invoked on the command line, environment variables are often used to specify search paths. If the search path described by the INCLUDE environment variable is not set correctly, a C1083 error is generated. For more information about how to use environment variables, see How to: Use Environment Variables in a Build.
                    To fix this issue, correct the path that the compiler uses to search for the included or imported file. A new project uses default search paths. You may have to modify the path to add a directory for your project. If you are compiling on the command line, set the INCLUDE environment variable or the /I compiler option to specify the path of the file. To set the include directory path in Visual Studio, open the project’s Property Pages dialog box, expand Configuration Properties and VC++ Directories, and then edit the Include Directories value. For more information about the per-user and per-project directories searched by the compiler in Visual Studio, see VC++ Directories Property Page. For more information about the /I compiler option, see /I (Additional Include Directories).
                   The wrong version of a file name is included
                   A C1083 error can also indicate that the wrong version of a file is included. For example, a build could include the wrong version of a file that has an include directive for a header file that is not intended for that build. When the header file is not found, the compiler generates a C1083 error. The fix for this problem is to use the correct file, not to add the header file or directory to the build.
                   The precompiled headers are not yet precompiled
                   When a project is configured to use precompiled headers, the relevant .pch files have to be created so that files that use the header contents can be compiled. For example, the stdafx.cpp file is automatically created in the project directory for new MFC projects. Compile that file first to create the precompiled header files. (In the typical build process design, this is done automatically.) For more information, see Creating Precompiled Header Files.
                    Additional causes
                    The file uses managed code, but the compiler option /clr is not specified. For more information, see /clr (Common Language Runtime Compilation).
                    The file is compiled by using a different /analyze compiler option setting than is used to precompile the headers. (When the headers for a project are precompiled, all should use the same /analyze settings.) For more information, see /analyze (Code Analysis).
                    The file, the directory, or the disk is read-only.
                    Access permissions for the file or the directory are not granted.
                    There are not enough file handles. Close some applications and then recompile. This condition is unusual under typical circumstances. However, it can occur when large projects are built on a computer that has limited physical memory.
                    The following example generates a C1083 error.
                    // C1083.cpp  
                    // compile with: /c  
                     #include "test.h"   // C1083 test.h does not exist  
                     #include "stdio.h"   // OK  
                    For information about how to build C/C++ projects in the IDE or on the command line, and information about setting environment variables, see Building C/C++ Programs.
                    See Also
                    MSBuild Properties
                    无法打开文件类型文件:'文件':消息
                    编译器无法找到文件时会生成C1083错误。 以下是编译器产生此错误的常见原因。
                    指定的文件名是错误的
                    文件的名称可能错误输入。 例如,
                    #include <algorithms.h>  
                    可能找不到你想要的文件。 有一个名为算法的标准C ++库头文件没有.h文件扩展名。 它不会被这个包含指令找到。 要解决此问题,请验证是否输入了正确的文件名。
                    某些C运行时库标头位于标准包含目录的子目录中。 例如,要包含sys \ types.h,您必须在include指令中包含sys子目录名称:
                    #include <sys\types.h>
                    该文件不包含在编译器搜索路径中
                    编译器无法使用包含或导入指令指示的搜索规则查找文件。 例如,用引号括起来的头文件名称
                    #include "myincludefile.h"
                    告诉编译器先在包含源文件的同一目录中查找文件,然后查看由构建环境指定的其他位置。 如果引号包含绝对路径,则编译器仅在该位置查找文件。 如果引号包含相对路径,编译器将在相对于源目录的目录中查找该文件。 如果名称用尖括号括起来.
                    #include <stdio.h>
                    编译器遵循由构建环境,/ I编译器选项,/ X编译器选项和INCLUDE环境变量定义的搜索路径。 有关详细信息(包括有关用于查找文件的搜索顺序的特定详细信息),请参阅#include指令(C / C ++)和#import指令。
                    即使在解决方案资源管理器中将头文件列为项目的一部分时,只有编译器在被include或import指令引用并位于目录搜索路径中时才能找到这些文件。 不同种类的构建可能使用不同的搜索路径。 / X编译器选项可用于从包含文件搜索路径中排除目录。 这使不同的构建可以使用具有相同名称但保存在不同目录中的不同包含文件。 这是使用预处理器命令进行条件编译的替代方法。 有关/ X编译器选项的更多信息,请参阅/ X(忽略标准包含路径)。
                    当在命令行中调用编译器时,通常会使用环境变量来指定搜索路径。 如果由INCLUDE环境变量描述的搜索路径设置不正确,则会生成C1083错误。 有关如何使用环境变量的更多信息,请参阅如何:在构建中使用环境变量。
                    要解决此问题,请更正编译器用于搜索包含或导入文件的路径。 新项目使用默认搜索路径。 您可能需要修改路径以为项目添加目录。 如果要在命令行上编译,请设置INCLUDE环境变量或/ I编译器选项以指定文件的路径。 要在Visual Studio中设置包含目录路径,请打开项目的“属性页”对话框,展开“配置属性”和“VC ++目录”,然后编辑“包含目录”值。 有关Visual Studio中的编译器搜索的每个用户和每个项目目录的更多信息,请参阅VC ++目录属性页。 有关/ I编译器选项的更多信息,请参阅/ I(其他包含目录)。
                    包括文件名的错误版本
                    C1083错误也可能表明包含文件的错误版本。 例如,构建版本可能包含错误版本的文件,该文件具有不适用于该版本的头文件的include指令。 当找不到头文件时,编译器会生成一个C1083错误。 解决此问题的方法是使用正确的文件,而不是将头文件或目录添加到构建中。
                    预编译头文件尚未预编译
                    当项目配置为使用预编译头文件时,必须创建相关的.pch文件,以便可以编译使用头文件内容的文件。 例如,stdafx.cpp文件会自动在项目目录中为新的MFC项目创建。 首先编译该文件以创建预编译的头文件。 (在典型的构建过程设计中,这是自动完成的。)有关更多信息,请参阅创建预编译头文件。  
                    其他原因:
                    该文件使用托管代码,但未指定编译器选项/ clr。 有关更多信息,请参阅/ clr(公共语言运行时编译)。
                    该文件通过使用与用于预编译头文件不同的/分析编译器选项设置进行编译。 (当一个项目的头文件被预编译时,所有的都应该使用相同的/分析设置。)有关更多信息,请参阅/ analyze(代码分析)
                    文件,目录或磁盘是只读的。
                    不授予文件或目录的访问权限。   
                    没有足够的文件句柄。 关闭一些应用程序,然后重新编译。 这种情况在典型情况下是不寻常的。 但是,如果在物理内存有限的计算机上构建大型项目,则可能会发生这种情况。
                    以下示例会生成C1083错误。
                     // C1083.cpp  
                     // compile with: /c  
                     #include "test.h"   // C1083 test.h does not exist  
                     #include "stdio.h"   // OK  
                     有关如何在IDE或命令行中构建C / C ++项目的信息以及有关设置环境变量的信息,请参阅构建C / C ++程序。
                     也可以看看
                     MSBuild属性
Fatal Error C1084:  Cannot read filetype file: 'file': message
                     This error is generally the result of a failed internal system API call made by the compiler. The message shown when this error is encountered is often generated by either _wcserror_s or FormatMessage.
                     Performing the following steps may help resolve C1084:
                     Ensure the specified file exists.
                     Ensure the appropriate permissions are set in order to access the specified file.
                     Ensure the command-line syntax adheres to the rules outlined under Compiler Command-Line Syntax.
                     Ensure sure the environment variables TMP and TEMP are properly set, as well as the appropriate permissions in order to access the directories these environment variables refer to. Also ensure that the drives referenced by the TMP and TEMP environment variables contain an adequate amount of free space.
                     If the message says "bad file number", the specified file may have been closing in the foreground while compiling in the background.
                     After performing the above diagnostics, perform a clean build.
                     无法读取文件类型文件:'文件':消息
                     此错误通常是由编译器进行的内部系统API调用失败的结果。 遇到此错误时显示的消息通常由_wcserror_s或FormatMessage生成。
                     执行以下步骤可能有助于解决C1084的问题:
                     确保指定的文件存在。
                     确保设置适当的权限才能访问指定的文件。
                     确保命令行语法符合编译器命令行语法下列出的规则。
                     确保正确设置了环境变量TMP和TEMP,并确保相应的权限以访问这些环境变量所引用的目录。 还要确保由TMP和TEMP环境变量引用的驱动器包含足够的可用空间量。
                     如果消息显示“坏文件编号”,则指定的文件可能在后台编译时在前台关闭。
                     执行上述诊断程序后,执行清理构建。
2018-06-08 21:09
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
Fatal Error C1085: Cannot write filetype file: 'file': message
                    To fix by checking the following possible causes
                    1.Drive is read-only.
                    2.Drive is full.
                    3.Sharing violation.
                    4.If the message says "bad file number", the file may have been closing in the foreground while compiling in the background.
                    无法写入文件类型文件:'文件':消息
                    通过检查以下可能的原因来解决问题
                    1.驱动器是只读的。
                    2.驱动器已满。
                    3.共享违规。
                    4.如果消息显示“坏文件编号”,则在后台编译时文件可能在前台关闭。
Fatal Error C1086: Cannot seek filetype file: 'file': message
                    The compiler cannot complete an I/O operation.
                    无法寻找文件类型文件:'文件':消息
                    编译器无法完成I / O操作。
Fatal Error C1087: Cannot tell filetype file: 'file': message
                    The compiler cannot complete an I/O operation.
                    无法分辨文件类型文件:'文件':消息
                    编译器无法完成I / O操作。
Fatal Error C1088: Cannot flush filetype file: 'file': message
                    The compiler cannot complete an I/O operation.
                    无法刷新文件类型文件:'文件':消息
                    编译器无法完成I / O操作。
Fatal Error C1089: Cannot truncate filetype file: 'file': message
                    The compiler cannot shrink a file to zero length.
                    无法截断文件类型文件:'文件':消息
                    编译器不能将文件缩小到零长度。
Fatal Error C1091: compiler limit: string exceeds 'length' bytes in length
                    A string constant exceeded the current limit on the length of strings.
                    You might want to split the static string into two (or more) variables and use strcpy_s to join the result as part of the declaration or during run time.
                    编译器限制:字符串长度超过“长度”字节
                    字符串常量超出了字符串长度的当前限制。
                    您可能希望将静态字符串拆分为两个(或更多)变量,并使用strcpy_s将结果作为声明的一部分或运行时加入。
Fatal Error C1092: Edit and Continue does not support changes to data types; build required
                    You changed or added a data type since the last successful build.
                    Edit and Continue does not support changes to existing data types, including class, struct, or enum definitions. You must stop debugging and build the application.
                    Edit and Continue does not support the addition of new data types if a program database file, such as vcx0.pdb (where x is the major version of Visual C++ in use) is read-only. To add data types, the compiler must open the .pdb file in write mode.
                    To remove this error without ending the current debug session
                    1.Change the data type back to its state prior to the error.
                    2.From the Debug menu, choose Apply Code Changes.
                    To remove this error without changing your source code
                    1.From the Debug menu, choose Stop Debugging.
                    2.From the Build menu, choose Build.
                    For further information, see the Supported Code Changes.
                    编辑并继续不支持对数据类型的更改; 建立必要
                    自上次成功构建以来,您更改或添加了数据类型。
                    编辑并继续不支持对现有数据类型的更改,包括类,结构或枚举定义。 您必须停止调试并构建应用程序。  
                    如果程序数据库文件(如vcx0.pdb(其中x是正在使用的Visual C ++的主要版本)是只读的,则“编辑并继续”不支持添加新数据类型。要添加数据类型,编译器必须以写入模式打开.pdb文件。
                    在不结束当前调试会话的情况下删除此错误
                    1.将数据类型更改回错误之前的状态。
                    2.从调试菜单中选择应用代码更改。
                    在不更改源代码的情况下删除此错误
                    1.从调试菜单中选择停止调试。
                    2.从生成菜单中选择生成。
                    有关更多信息,请参阅支持的代码更改。
Fatal Error C1093: API call 'function name' failed 'location of call' : 'text from run-time'
                    A call to a .NET function failed. text from run-time may or may not be supplied by the COM runtime.
                    For more information about system error messages, see the winerror.h system file, and FormatMessage.
                    API调用'函数名'失败'调用位置':'来自运行时的文本'
                    对.NET函数的调用失败。 来自运行时的文本可能会或可能不会由COM运行时提供。
                    有关系统错误消息的更多信息,请参阅winerror.h系统文件和FormatMessage。
Fatal Error C1094:  Zmval1' : command line option is inconsistent with value used to build precompiled header ('-Zmval2')
                    The value that is passed to /Yc must be the same value that is passed to /Yu (/Zm values must be the same in all compilations that use or create the same precompiled header file).
                    The following sample generates C1094:
                     // C1094.h  
                        int func1();
                       And then,
                     // C1094.cpp  
                     // compile with: /Yc"C1094.h" /Zm200  
                        int u;  
                        int main() {  
                        int sd = 32;  
                        }  
                       #include "C1094.h"
                     And then,
                      // C1094b.cpp  
                      // compile with: /Yu"C1094.h" /Zm300 /c  
                       #include "C1094.h"   // C1094 compile with /Zm200  
                       void Test() {}   
                      Zmval1':命令行选项与用于构建预编译头的值('-Zmval2')不一致
                      传递给/ Yc的值必须与传递给/ Yu的值相同(在使用或创建相同预编译头文件的所有编译中,Zm值必须相同)。
                      以下示例生成C1094:
                      // C1094.h  
                        int func1();
                       接着
                      // C1094.cpp  
                     // compile with: /Yc"C1094.h" /Zm200  
                        int u;  
                        int main() {  
                        int sd = 32;  
                        }  
                       #include "C1094.h"
                      接着
                      // C1094b.cpp  
                      // compile with: /Yu"C1094.h" /Zm300 /c  
                       #include "C1094.h"   // C1094 compile with /Zm200  
                       void Test() {}
Fatal Error C1098:  Version mismatch with Edit and Continue engine
                    The debugger version you are using does not match the compiler used to create the executable. If recompiling does not fix the problem, you may need to reinstall Visual C++ to make sure you have the  proper versions of the debugger and compiler.                  
                    版本与编辑和继续引擎不匹配
                    您使用的调试器版本与用于创建可执行文件的编译器不匹配。 如果重新编译没有解决问题,则可能需要重新安装Visual C ++以确保您具有适当版本的调试器和编译器。
Fatal Error C1099: Edit and Continue engine terminating compile
                   Edit and Continue loaded a precompiled header file in preparation for compiling code changes, but subsequent actions (such as code changes prior to the precompiled header #include statement or stopping the debugger) prevented Edit and Continue from finishing the compile with that process. You do not need to take any action to fix this error.
                   编辑并继续引擎终止编译  
                   编辑并继续加载预编译的头文件以准备编译代码更改,但后续操作(例如,在预编译头#include语句或停止调试程序之前更改代码)阻止了编辑并继续完成编译。 你不需要采取任何行动来解决这个错误Fatal Error C1100: unable to initialize OLE : system error message
                   The compiler cannot initialize the Component Object Model (COM) library. See CoInitialize.
                   无法初始化OLE:系统错误消息
                   编译器无法初始化组件对象模型(COM)库。 请参阅CoInitialize。
Fatal Error C1103: fatal error importing progid: 'message'
                   The compiler detected a problem importing a type library. For example, you cannot specify a type library with progid and also specify no_registry.
                   For more information, see #import Directive.
                   The following sample will generate C1103:
                   // C1103.cpp  
                    #import "progid:a.b.id.1.5" no_registry auto_search   // C1103  
                   致命错误导入progid:'message'
                   编译器检测到导入类型库的问题。 例如,你不能用progid指定一个类型库,也可以指定no_registry。
                   有关更多信息,请参阅#import指令。
                   以下示例将生成C1103:
                   // C1103.cpp  
                    #import "progid:a.b.id.1.5" no_registry auto_search   // C1103  
Fatal Error C1104: fatal error importing libid: 'message'
                   The compiler detected a problem importing a type library. For example, you cannot specify a type library with libid and also specify no_registry.
                   For more information, see #import Directive.
                   The following sample will generate C1104:
                   // C1104.cpp  
                   #import "libid:11111111.1111.1111.1111.111111111111" version("4.0") lcid("9") no_registry auto_search   // C1104   
                   导入libid的致命错误:'message'
                   编译器检测到导入类型库的问题。 例如,你不能用libid指定一个类型库,也可以指定no_registry。
                   有关更多信息,请参阅#import指令。
                   以下示例将生成C1104:
                    // C1104.cpp  
                   #import "libid:11111111.1111.1111.1111.111111111111" version("4.0") lcid("9") no_registry auto_search   // C1104  
2018-06-08 21:09
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
Fatal Error C1107: could not find assembly 'file': please specify the assembly search path using /AI or by setting the LIBPATH environment variable
                   A metadata file was passed to a #using directive that the compiler was unable to locate.
                   LIBPATH, which is described in the topic for #using, and the /AI compiler option allow you to specify directories in which the compiler will look for referenced metadata files.
                   无法找到程序集'文件':请使用/ AI或通过设置LIBPATH环境变量指定程序集搜索路径
                   元数据文件被传递给编译器无法找到的#using指令。
                   在#using主题中介绍的LIBPATH和/ AI编译器选项允许您指定编译器将在其中查找引用的元数据文件的目录。
Fatal Error C1108:  unable to find DLL: 'dll'
                    The specified DLL (dll) could not be found in the path.
                    To resolve this error, reinstall Visual C++ or copy the appropriate .dll file from the installation CD to your computer.
                    无法找到DLL:'dll'
                    在路径中找不到指定的DLL(dll)。
                    要解决此错误,请重新安装Visual C ++或将相应的.dll文件从安装CD复制到您的计算机。
Fatal Error C1109:  unable to find 'entry point' in DLL 'dll'
                    An entry point in a delay-loaded DLL required by the compiler could not be found.
                    无法找到DLL'DLL'中的'入口点'
                    无法找到编译器所需的延迟加载的DLL中的入口点。
Fatal Error C1113:  using failed on 'file'
                    Only a file in the Microsoft Intermediate Language (MSIL) format can be passed to a #using directive. The /clr compiler option lets you create an MSIL output file. Other Visual Studio languages also produce MSIL files.
                    使用'文件'失败
                    只有Microsoft中间语言(MSIL)格式的文件可以传递给#using指令。 / clr编译器选项可让您创建MSIL输出文件。 其他Visual Studio语言也产生MSIL文件.
Fatal Error C1120:  call to GetProcAddress failed for 'function'
                    This error indicates Visual C++ needs to be reinstalled.
                    调用GetProcAddress for'function'失败
                    此错误表明需要重新安装Visual C ++。
Fatal Error C1121:  call to CryptoAPI failed
                    The compiler made a call to the CryptoAPI and the call failed. Reinstall Visual Studio and possibly reinstall the operating system.
                    调用CryptoAPI失败
                    编译器调用了CryptoAPI,调用失败。 重新安装Visual Studio并可能重新安装操作系统。
Fatal Error C1126:  identifier' : automatic allocation exceeds size
                    Space allocated for local variables of a function (plus a limited amount of space used by the compiler, such as an extra 20 bytes for swappable functions) exceeds the limit.
                    To correct this error, use malloc or new to allocate large amounts of data.
                    标识符':自动分配超出大小
                    为函数的本地变量分配的空间(加上编译器使用的有限空间量,例如可交换函数的额外20字节)超出了限制。
                    要更正此错误,请使用malloc或new分配大量数据。
Fatal Error C1128:  The latest version of this topic can be found at Fatal Error C1128.
                    number of sections exceeded object file format limit : compile with /bigobj
                    An .obj file exceeded the number of allowable sections, a COFF object file format limitation.
                    Reaching this section limitation can be the result of using /Gy and a debug build; /Gy causes functions to go into their own COMDAT sections. In a debug build, there is a debug info section for each COMDAT function.
                    C1128 can also be caused when there are too many inline functions.
                    To correct this error, divide your source file into multiple source code files, compile without /Gy, or compile with /bigobj (Increase Number of Sections in .Obj file). If you do not compile with /Gy, you will need to specify the optimizations individually, since /O2 and /O1 both imply /Gy.
                    If possible, compile without debugging information.
                    You may also need to have specific instantiations of templates in separate source code files, rather than having the compiler emit them.
                    When porting code, C1128 will likely appear first when using the x64 compiler, and much later with the x86 compiler. x64 will have at least 4 sections associated with each function compiled /Gy or inlined from templates or class-inline: code, pdata, and debug info, and possibly xdata. X86 won’t have the pdata.
                    在致命错误C1128处可以找到该主题的最新版本。
                    节数超过目标文件格式限制:使用/ bigobj进行编译
                    .obj文件超出了允许的部分数量,即COFF目标文件格式限制。
                    达到此部分的限制可能是使用/ Gy和调试版本的结果; / Gy导致函数进入他们自己的COMDAT部分。 在调试版本中,有一个调试info部分为每个COMDAT功能。
                    当内联函数太多时,也可能导致C1128。
                    要纠正这个错误,请将您的源文件分割为多个源代码文件,不使用/ Gy进行编译,或使用/ bigobj(增加.Obj文件中的段数)进行编译。 如果你不要使用/ Gy进行编译,因为/ O2和/ O1都暗示/ Gy,您将需要单独指定优化.
                    如果可能的话,编译时不要调试信息.
                    您可能还需要在单独的源代码文件中具有特定的模板实例,而不是让编译器发出它们。
                    在移植代码时,C1128在使用x64编译器时可能会首先出现,并且很可能会在x86编译器之后出现。 x64至少会有4个部分与每个部分相关联函数编译/ Gy或从模板或class-inline:代码,pdata和调试信息以及可能的xdata内联。 X86不会有pdata。
Fatal Error C1189:  error : user supplied error message
                     C1189 is generated by the #error directive. The developer who codes the directive specifies the text of the error message. For more information, see #error Directive (C/C++).
                     The following sample generates C1189. In the sample, the developer issues a custom error message because the _WIN32 identifier is not defined:
                     // C1189.cpp  
                     #undef _WIN32  
                     #if !defined(_WIN32)  
                     #error _WIN32 must be defined   // C1189  
                     #endif  
                     You might also see this error if you build an ATL project by using the /robust MIDL compiler option. Use the /robust switch to build only Windows 2000 and later versions of Windows. To correct this error, use one of the following procedures:
                     Change this line in the dlldatax.c file:
                     #define _WIN32_WINNT 0x0400   // for WinNT 4.0 or Windows 95 with DCOM
                     to:
                     #define _WIN32_WINNT 0x0500   // for WinNT 4.0 or Windows 95 with DCOM  
                     Use the Advanced property page in the MIDL property page folder to remove the /robust switch and then specify the /no_robust switch. For more information, see MIDL Property Pages: Advanced.
                     See Also
                     #define Directive (C/C++)
                     错误:用户提供的错误消息
                     C1189由#error指令生成。 编码指令的开发人员指定错误消息的文本。 有关更多信息,请参见#error指令(C / C ++)。
                     以下示例生成C1189。 在该示例中,由于未定义_WIN32标识符,开发人员会发出自定义错误消息:
                      // C1189.cpp  
                     #undef _WIN32  
                     #if !defined(_WIN32)  
                     #error _WIN32 must be defined   // C1189  
                     #endif  
                     如果使用/ robust MIDL编译器选项构建ATL项目,您也可能会看到此错误。 使用/强大的开关来构建仅Windows 2000和更高版本的Windows。 要更正此错误,请使用以下过程之一:
                     在dlldatax.c文件中更改此行:
                     #define _WIN32_WINNT 0x0400   // for WinNT 4.0 or Windows 95 with DCOM
                     到:
                     #define _WIN32_WINNT 0x0500   // for WinNT 4.0 or Windows 95 with DCOM  
                     使用MIDL属性页面文件夹中的Advanced属性页面删除/ robust开关,然后指定/ no_robust开关。 有关更多信息,请参阅MIDL属性页:高级。
                     也可以看看
                     #define指令(C / C ++)
2018-06-08 21:10
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
Fatal Error C1190:  managed targeted code requires a '/clr' option
                     You are using CLR constructs but you did not specify /clr.
                     For more information, see /clr (Common Language Runtime Compilation).
                     The following sample generates C1190:
                     // C1190.cpp  
                     // compile with: /c  
                        __gc class A {};   // C1190  
                        ref class A {};  
                     托管目标代码需要'/ clr'选项
                     您正在使用CLR构造,但未指定/ clr。
                     有关更多信息,请参阅/ clr(公共语言运行时编译)。
                     以下示例生成C1190:
                      // C1190.cpp  
                     // compile with: /c  
                        __gc class A {};   // C1190  
                        ref class A {};
Fatal Error C1191: dll' can only be imported at global scope
                    The instruction to import mscorlib.dll into a program that uses /clr programming cannot appear in a namespace or function, but must appear at global scope.
                    The following sample generates C1191:
                    // C1191.cpp  
                    // compile with: /clr  
                       namespace sample {  
                       #using <mscorlib.dll>   // C1191 not at global scope  
                       }  

                       Possible resolution:
                   // C1191b.cpp  
                   // compile with: /clr /c  
                      #using <mscorlib.dll>  
                      namespace sample {}   
                      dll'只能在全局范围导入
                      将mscorlib.dll导入到使用/ clr编程的程序中的指令不能出现在名称空间或函数中,而必须出现在全局范围内。
                      以下示例生成C1191:
                    // C1191.cpp  
                    // compile with: /clr  
                       namespace sample {  
                       #using <mscorlib.dll>   // C1191 not at global scope  
                       }  

                       可能的决议
                   // C1191b.cpp  
                   // compile with: /clr /c  
                      #using <mscorlib.dll>  
Fatal Error C1192: using failed on 'file'
                    Only a file in the Microsoft Intermediate Language (MSIL) format can be passed to a #using directive. The /clr compiler option lets you create an MSIL output file. Other Visual Studio languages also produce MSIL files.
                    使用'文件'失败
                    只有Microsoft中间语言(MSIL)格式的文件可以传递给#using指令。 / clr编译器选项可让您创建MSIL输出文件。 其他Visual Studio语言也产生MSIL文件。
Fatal Error C1196: identifier' : identifier found in type library 'typelib' is not a valid C++ identifier
                    One of the identifiers in your type library is not a valid C++ identifier. The type library is not available for use with #import.  
                    标识符':在类型库'typelib'中找到的标识符不是有效的C ++标识符
                    您的类型库中的一个标识符不是有效的C ++标识符。 类型库不可用于#import。
Fatal Error C1197: cannot reference 'mscorlib.dll_1' as the program has already referenced 'mscorlib.dll_2'
                    The compiler is matched to a version of the common language runtime. However, an attempt was made to reference a version of a common language runtime file from a previous version.
                    To resolve this error, only reference files from the version of the common language runtime that shipped with the version of Visual C++ you are compiling with.
                    Example
                    The following sample generates C1197:
                    // C1197.cpp  
                    // compile with: /clr /c  
                    // processor: x86  
                       #using "C:\Windows\Microsoft.NET\Framework\v1.1.4322\mscorlib.dll"   // C1197  
                    // try the following line instead  
                    // #using "mscorlib.dll"  
                     不能引用'mscorlib.dll_1',因为程序已经引用'mscorlib.dll_2'
                     编译器与公共语言运行库的版本相匹配。 但是,试图从先前版本引用公共语言运行库文件的版本。
                     若要解决此错误,请仅使用编译时使用的Visual C ++版本附带的公共语言运行库版本中的引用文件。
                     例
                     以下示例生成C1197:
                    // C1197.cpp  
                    // compile with: /clr /c  
                    // processor: x86  
                       #using "C:\Windows\Microsoft.NET\Framework\v1.1.4322\mscorlib.dll"   // C1197  
                    // try the following line instead  
                    // #using "mscorlib.dll"  
Fatal Error C1201: unable to continue after syntax error in class template definition
                    An unexpected error occurred while parsing a class template definition.
                    Fix any other errors and recompile. If that fails, note the circumstances of the error, try to isolate the problem and create a reproducible test case, then contact Microsoft Product Support Services.
                    无法在类模板定义中的语法错误后继续
                    解析类模板定义时发生意外错误。
                    修复任何其他错误并重新编译。 如果失败,请记下错误的情况,尝试隔离问题并创建可重现的测试用例,然后联系Microsoft产品支持服务。
Fatal Error C1202: recursive type or function dependency context too complex
                    A template definition was recursive or exceeded complexity limits.
                    Example
                    The following sample generates C1202.
                    // C1202.cpp  
                    // processor: x86 IPF  
                       template<int n>   
                       class Factorial : public Factorial<n-1>  {   // C1202  
                       public:  
                           operator int () {   
                           return Factorial <n-1>::operator int () * n;   
                                            }  
                       };  
                       Factorial<7> facSeven;  
                    Example
                    Possible resolution.
                      // C1202b.cpp  
                      // compile with: /c  
                         template<int n>   
                         class Factorial : public Factorial<n-1> {  
                          public:  
                         operator int () {   
                         return Factorial <n-1>::operator int () * n;   
                            }  
                         };  
  
                      template <>  
                         class Factorial<0> {  
                     public:  
                      operator int () {   
                      return 1;   
                       }  
                     };  
  
                     Factorial<7> facSeven;  
                     递归类型或函数依赖关系上下文过于复杂
                     模板定义是递归的或超出了复杂性限制。
                     例
                     以下示例生成C1202:
                     // C1202.cpp  
                    // processor: x86 IPF  
                       template<int n>   
                       class Factorial : public Factorial<n-1>  {   // C1202  
                       public:  
                           operator int () {   
                           return Factorial <n-1>::operator int () * n;   
                                            }  
                       };  
                       Factorial<7> facSeven;
                    例
                    可能的决议。
                    // C1202b.cpp  
                      // compile with: /c  
                         template<int n>   
                         class Factorial : public Factorial<n-1> {  
                          public:  
                         operator int () {   
                         return Factorial <n-1>::operator int () * n;   
                            }  
                         };  
  
                      template <>  
                         class Factorial<0> {  
                     public:  
                      operator int () {   
                      return 1;   
                       }  
                     };  
  
                     Factorial<7> facSeven;
Fatal Error C1205:  Generics are not supported by the version of the runtime installed
                     The version of the common language runtime that the compiler is using is not a version of the runtime supported by the current compiler. For example, the generics feature requires a runtime that is   matched to the compiler.
                     Your path specification may need to be modified.
                     泛型不受所安装运行时版本的支持
                     编译器使用的公共语言运行时版本不是当前编译器支持的运行时版本。 例如,泛型特性需要与编译器相匹配的运行时
                     您的路径规格可能需要修改。
Fatal Error C1206:  Per-appdomain data is not supported by the version of the runtime installed
                     Some features, such as per application domain data, are only supported by the common language runtime that supports the feature.
                     C1206 indicates that the latest version of the runtime is not installed on your computer. Install the common language runtime version that is intended for use with your compiler.
                     See appdomain for more information.
                     每个AppDomain数据不受所安装运行时版本的支持
                     某些功能(如每个应用程序域数据)仅受支持该功能的公共语言运行库的支持。
                     C1206表示运行时的最新版本未安装在您的计算机上。 安装用于编译器的公共语言运行时版本。
                     有关更多信息,请参阅appdomain。
Fatal Error C1207: Managed templates not supported by the version of the runtime installed
                    C1207 occurs when you have a compiler for the current release, but a common language runtime from a previous release.
                    Some functionality of the compiler may not work on a previous version of the run time.
                    To resolve C1207 install the common language runtime version that is intended for use with your compiler.
                    受管理的模板不受所安装的运行时版本的支持
                    当你有一个当前版本的编译器时,会发生C1207,但是以前版本的公共语言运行时会发生。
                    编译器的某些功能可能不适用于以前版本的运行时。
                    要解决C1207安装用于编译器的公共语言运行时版本。
Fatal Error C1208: Allocating reference classes on the stack is not supported by the version of the runtime installed
                    C1208 occurs when you have a compiler for the current release, but a common language runtime from a previous release.
                    Some functionality of the compiler may not work on a previous version of the run time.
                    Install the common language runtime version that is intended for use with your compiler.
                    安装的运行版本不支持在堆栈上分配引用类
                    当你有一个当前版本的编译器时,会发生C1208,但是从以前的版本开始使用公共语言运行时。
                    编译器的某些功能可能不适用于以前版本的运行时。
                    安装用于编译器的公共语言运行时版本。
Fatal Error C1209: Friend assemblies not supported by the version of the runtime installed
                    C1208 occurs when you have a compiler for the current release, but a common language runtime from a previous release.
                    Some functionality of the compiler may not work on a previous version of the run time.
                    To resolve C1209, install the common language runtime that shipped with the compiler you are using.
                    For more information, see Friend Assemblies (C++).
                    朋友程序集不受安装的运行时版本的支持
                    当你有一个当前版本的编译器时,会发生C1208,但是从以前的版本开始使用公共语言运行时。
                    编译器的某些功能可能不适用于以前版本的运行时。
                    要解决C1209,请安装您正在使用的编译器附带的公共语言运行库。
                    有关更多信息,请参阅Friend Assemblies(C ++)。
2018-06-08 21:10
自学的数学
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:603
专家分:2418
注 册:2017-11-15
  得分:0 
Fatal Error C1210: clr:pure and /clr:safe are not supported by the version of the runtime installed
                    C1210 occurs when you have a compiler for the current release, but a common language runtime from a previous release.
                    Some functionality of the compiler may not work on a previous version of the run time.
                    To resolve C1210 install the common language runtime version that is intended for use with your compiler.
                    所安装的运行时版本不支持clr:pure和/ clr:safe
                    当您有当前版本的编译器时,会出现C1210,但会出现前一版本的公共语言运行时。
                    编译器的某些功能可能不适用于以前版本的运行时。
                    要解析C1210,请安装用于编译器的公共语言运行时版本。
Fatal Error C1211: The TypeForwardedTo Custom Attribute is not supported by the version of the runtime installed
                    C1211 occurs when you have a compiler for the current release, but a common language runtime from a previous release.
                    Some functionality of the compiler may not work on a previous version of the run time.
                    To resolve C1211 install the common language runtime that shipped with the compiler you are using.
                    For more information, see Type Forwarding (C++/CLI).
                    TypeForwardedTo Custom属性不受所安装运行时版本的支持
                    当您有当前版本的编译器时,会出现C1211,但是会使用先前发行版的公共语言运行时。
                    编译器的某些功能可能不适用于以前版本的运行时。
                    要解析C1211,请安装您使用的编译器附带的公共语言运行库。
                    有关更多信息,请参阅类型转发(C ++ / CLI)。
Fatal Error C1305: profile database 'pgd_file' is for a different architecture
                    A .pgd file that was generated from the /LTCG:PGINSTRUMENT operation for another platform was passed to /LTCG:PGOPTIMIZE . Profile-guided optimizations are available for x86 and x64 platforms. However, a .pgd file generated with a /LTCG:PGINSTRUMENT operation for one platform is not valid as input to a /LTCG:PGOPTIMIZE for a different platform.
                    To resolve this error, only pass a .pgd file that is created with /LTCG:PGINSTRUMENT to /LTCG:PGOPTIMIZE on the same platform.
                    配置文件数据库'pgd_file'用于不同的体系结构
                     从另一个平台的/ LTCG:PGINSTRUMENT操作生成的.pgd文件已传递到/ LTCG:PGOPTIMIZE。 配置文件引导的优化适用于x86和x64平台。 但是,对于一个平台,使用/ LTCG:PGINSTRUMENT操作生成的.pgd文件对于不同平台的/ LTCG:PGOPTIMIZE输入无效。
                    要解决此错误,请仅在同一平台上传递使用/ LTCG:PGINSTRUMENT创建的.pgd文件到/ LTCG:PGOPTIMIZE。
Fatal Error C1307: program has been edited since profile data was collected
                    When using /LTCG:PGOPTIMIZE, the linker detected an input module that was recompiled after /LTCG:PGINSTRUMENT and that the module was changed to the point where existing profile data is no longer relevant. For example, if the call graph changed in the recompiled module, the compiler will generate C1307.
                    To resolve this error, run /LTCG:PGINSTRUMENT, redo all test runs, and run /LTCG:PGOPTIMIZE. If you cannot run /LTCG:PGINSTRUMENT and redo all test runs, use /LTCG:PGUPDATE instead of /LTCG:PGOPTIMIZE to create the optimized image.
                    自从收集配置文件数据以来,程序已被编辑
                      当使用/ LTCG:PGOPTIMIZE时,链接器检测到在/ LTCG:PGINSTRUMENT之后重新编译的输入模块,并且模块已更改为现有配置文件数据不再相关的点。 例如,如果重新编译模块中的调用图发生了变化,编译器将生成C1307。
                    要解决此错误,请运行/ LTCG:PGINSTRUMENT,重做所有测试运行,然后运行/ LTCG:PGOPTIMIZE。 如果无法运行/ LTCG:PGINSTRUMENT并重做所有测试运行,请使用/ LTCG:PGUPDATE而不是/ LTCG:PGOPTIMIZE来创建优化图像。
Fatal Error C1308: linking assemblies is not supported
                     A .netmodule is allowed as input to the linker, but an assembly is not. This error can be generated when an attempt is made to link an assembly compiled with /clr:safe.
                    For more information, see .netmodule Files as Linker Input.
                    The following sample generates C1308:
                    // C1308.cpp  
                    // compile with: /clr:safe /LD  
                       public ref class MyClass {  
                       public:  
                       int i;  
                        };  
                     and then,
                    // C1308b.cpp  
                    // compile with: /clr /link C1308b.obj C1308.dll  
                    // C1308 expected  
                       #using "C1308.dll"  
                       int main() {  
                       MyClass ^ my = gcnew MyClass();  
                       }      
                     链接组件不受支持
                      .netmodule被允许作为链接器的输入,但是程序集不是。 尝试链接使用/ clr:safe编译的程序集时,可能会生成此错误。
                     有关更多信息,请参阅.netmodule文件作为链接器输入。
                      以下示例生成C1308:
                      // C1308.cpp  
                    // compile with: /clr:safe /LD  
                       public ref class MyClass {  
                       public:  
                       int i;  
                        };  
                      然后
                      // C1308b.cpp  
                    // compile with: /clr /link C1308b.obj C1308.dll  
                    // C1308 expected  
                       #using "C1308.dll"  
                       int main() {  
                       MyClass ^ my = gcnew MyClass();  
                       }   
Fatal Error C1309:  Mismatched versions of C2.DLL and PGODB<version>.DLL
                     The toolset you are using to build and use Profile-Guided Optimizations contains mismatched components. If you cannot manually resolve this error, reinstall Visual C++.                              C2.DLL和PGODB <版本> .DLL的版本不匹配
                     您用于构建和使用配置文件引导优化的工具集包含不匹配的组件。 如果您无法手动解决此错误,请重新安装Visual C ++。
2018-06-08 21:11







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030963 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved