我正在使用 Qt (Mac) 中的 C 控制台项目,因为客户端不想要 C++
将所有内容都放在一个 C 文件中,一切都运行良好,但当然,它开始变得太大了。
所以我创建了一个新的 juicy_lucy.h 和 juicy_lucy.c 文件,首先,只是将一些东西从 main.c 转移到 juicy_lucy.h 现在看起来像这样
#ifndef JUICY_LUCY_H
#define JUICY_LUCY_H
#define command_count 14
char *function_names[command_count] = {
"CLEAR_LCD", "PUT_LCD", "SET_VAR", "ADC_READ",
"BIT_WRITE", "BIT_READ", "BIT_WAIT",
"FAIL_LESS", "FAIL_MORE", "FAIL_HIGH","FAIL_LOW",
"AVR_PROG","AVR_READ_SERIAL","AVR_WRITE_SERIAL"
};
int param_count[command_count] = {0,3,2,1,2,1,2,2,2,1,1,1,1,1};
#endif // JUICY_LUCY_H
当然,在 main.c 和 juicy_lucy.c 中都包含标头
现在,当我构建时,我得到
juicy_lucy.o 和 main.o 中的重复符号 _function_names 用于架构 x86_64
任何人都可以建议可能出了什么问题吗?