gpt4 book ai didi

c - 在静态库中定义枚举

转载 作者:太空宇宙 更新时间:2023-11-04 04:51:01 26 4
gpt4 key购买 nike

我有一个文件 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_tfoo_afoo_bfoo_c 未定义,而 get_foo 已定义。

为什么?

最佳答案

这是 Eclipse 如何为项目编制索引的问题。您可以通过刷新项目的 Eclipse 索引来解决此问题。

  1. 右键单击出现错误的项目(不是静态库)并选择Index > Freshen All Files
  2. 再次右键单击 Index > Rebuild

您的项目现在应该能够在任何包含的静态库中找到所有符号。

关于c - 在静态库中定义枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15260818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com