我有一个程序在 eclipse C/c++ cdt 中告诉我“无法解析符号 xxxx”。
示例文件如下:
头文件s.h
::
#ifndef S_H_
#define S_H_
typedef enum {
MSG_ID_INVALID_TYPE = 0,
#include "s0.h"
} msg_type;
#endif /* S_H_ */
上述文件包括如下所示的头文件:
头文件s0.h
MSG_ID_COMMAND1,
MSG_ID_COOMAND2,
主文件test.c
/*
* test.c
*
* Created on: 2012-5-18
* Author: js
*/
#include "s.h"
int i = MSG_ID_COMMAND1;
main()
{
print ("%d",i);
}
日食告诉我:Symbol MSG_ID_COMMAND1 could not be resolved
但是程序在vc2008下是可以的。
为什么?
// 答案:赛斯·卡内基。如果我们使用 i = MSG_ID_INVALID_TYPE,就可以了。