1
我有一個文件foo.h
與enum
:定義枚舉在靜態庫
#ifndef FOO_H
#define FOO_H
enum foo_e { foo_a, foo_b, foo_c };
typedef enum foo_e foo_t;
foo_t get_foo(char bar);
#endif
文件foo.c
導入它(#include "foo.h"
),並使用它,沒有任何問題。
我通過Eclipse導出該項目的靜態庫,給我一個libFoo.a
。
在其他項目中,我使用庫和所有符號解析,編譯和工作正常。只有enum
聲明不被識別。 Eclipse告訴我foo_t
,foo_a
,foo_b
,foo_c
未定義,而get_foo
被定義。
爲什麼?
「foo_t」,「foo_a」,「foo_b」,「foo_c」都不是對象,因此不會出現在(靜態)庫中。如果你包含相關的頭文件,並且Eclispe可以看到它,(假設你還沒有#define FOO_H),那麼這聽起來就像Eclipse有糟糕的一天。 – 2013-03-07 00:22:22
我在項目中使用「foo」作爲靜態庫包含'foo.h'。 – 2013-03-07 00:24:36
您能否在另一個項目中顯示有錯誤的行? – 2013-03-07 01:56:50