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 を使用すれば問題ありません。