次のファイルがあり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
が定義されていることを教えてくれます。
なんで?