クライアントが C++ を必要としないため、Qt (Mac) で 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 の両方にヘッダーを含めます。
今私が構築するとき、私は得る
アーキテクチャ x86_64 の場合、juicy_lucy.o および main.o でシンボル _function_names が重複しています。
誰が何が間違っているのか提案できますか?