0

Atrollic Studioを使用しています(問題はEclipseにも存在します)。

.hファイル

 extern int i2cInitIO(uint channel, uint hz);
 extern int i2cIO(uint device, byte *put, uint putlen, byte *get, uint getlen);

.cファイル

#include "tollosI2C.h"
int i2cGetReg(uint device, byte reg, byte *get) {
  // write one byte address then read 1 byte data

  return i2cIO(device, &reg, 1, get, 1);
  } // i2cGetReg

問題があります:`i2cIO'への未定義の参照。このプロジェクトはARMツールチェーンでコンパイルする必要があります。StM32F103VET6-高密度デバイス。ST-Linkを使用しています。

UPD:私の.hファイル-http: //pastebin.com/52ftBxR9

およびc。ファイル-http://pastebin.com/CcjpVZUP

コンパイラ呼び出しコマンド-中括弧なしの「gcc」。

コンパイラ呼び出し引数-"-E-P -v -dD ${plugin_state_location}/specs.c"中括弧なし。

4

1 に答える 1

0

OK、あなたの環境は Atollic (スペルミス) と呼ばれていますが、ヘッダー ファイルの名前から、Mike Cowlishaw の Tollos スーパーバイザを使用していると結論付けています。-E次に、 GCC のオプションでは前処理された出力のみが生成されるため、コンパイル オプションが正しくない可能性がありますが、報告するエラーはリンカー エラーです。

詳細情報がなければ、i2cIO実装を含むライブラリが不足していると思います。おそらく、リンカー コマンド ラインのオプションが不足しています。

Tollos で直接サポートされていないプロセッサのバリエーションを使用しているようですので、Tollos をプロセッサに移植したいと考えています。makefile cq を確認してください。正しいライブラリを含めるための Atollic プロジェクトのセットアップ。必要に応じて、-Eオプションをに置き換えます-c

于 2011-11-27T18:53:21.230 に答える