作者: Suresoft(株)

管理者: 장한일/共通技术组

Imported by: 이담호

1. 预处理错误信息发生

1.1. error: could not open source file "~~~"

  1. #include “filename” 如果包含路径设置中缺少包含与上述语法中指定的文件名相对应的文件的路径,则会发生这种情况。 您需要在项目设置中找到文件名所在的路径,并将其添加到包含路径中。 将路径添加到“Project Information”的“Common Build Settings”的“Include Path”选项卡→“File”菜单的“Build”。 如果是“sub_dir/filename”,则必须将sub_dir目录所在的路径添加到include路径中。
  2. 如果文件名不存在,就会发生这种情况。 检查环境中是否存在该文件,如果安装了开发环境,则编译正常。
  3. 如果您的宏设置(例如预定义宏)的设置与源中的预期不同,则可能会发生这种情况。 如果安装了开发环境,检查编译是否正常,如果文件名不存在编译成功,则#include“文件名”部分因宏条件无效。 您需要相应地修改宏设置。 有关如何设置宏,请参阅[系统宏设置指南]。

1.2. error: unrecognized token ~~

  1. 当 C/C++ 源代码以 UNICODE 等而不是 ASCII 编码时发生。 将源代码文件的编码更改为 ASCII。

1.3. error: too many arguments in macro invocation

  1. 当使用 #define 声明的宏函数的参数描述不正确时发生。 检查声明宏时指定的参数数量以及使用宏时使用的参数数量。 如果安装了开发环境,检查编译是否正常,如果可以编译,联系客服([email protected])。

1.4. catastrophic error: #error directive: "~~~"

  1. 当宏设置(例如预定义的宏)的设置与源中的预期不同时发生。 如果安装了开发环境,检查编译是否正常,如果编译成功,#error“~~~”部分由于宏条件无效。 您需要相应地修改宏设置。 有关如何设置宏,请参阅[系统宏设置指南]。

    #if !defined(_WIN32) && !defined(_MAC)  
    #error ERROR: Only Mac or Win32 targets supported!  
    #endif
    

1.5. error: expected an identifier

  1. 在使用 #define 的宏声明中使用不正确的语法时发生。 如果安装了开发环境,检查对应语法是否编译正常,如果编译成功,联系客服([email protected])。 如果您有以下类型的代码,则可能会发生这种情况

    #define SOME_MACROS(X, ...) X == __VA_ARGS__;
    

此代码可能会或可能不会正常编译,具体取决于编译器。

2.分析错误信息发生