1

こんにちは私は自分のプログラムをコンパイルしようとしていますが、常にこのリンカーエラーが発生します:

.\_build\ble_app_hids_keyboard.axf: Error: L6200E: Symbol UX_captureStarted multiply defined (by sens.o and main.o)
..\_build\ble_app_hids_keyboard.axf: Error: L6200E: Symbol UX_captureStarted multiply defined (by algorithm.o and main.o).

これが私のコードの構造です:

sens.h

extern int8_t UX_captureStarted = 0;

sens.c

int8_t UX_captureStarted = 0;

Algorithm.h

#include "sens.h"
// some processing using UX_captureStarted

main.c

#include "algorithm.h"
//some processing using UX_captureStarted

UX_captureStartedと同じ構造で宣言された他のいくつかの変数で同じリンカーエラーが発生しました。ご協力ありがとうございました。

4

1 に答える 1

1

これらの変数のインスタンスが複数あるため、リンクの問題が発生します。コンパイル順序を確認し、それらの1つのソースを作成してみてください。また、sens.cの定義行を削除することもできます。

于 2013-02-26T12:22:52.760 に答える