2017-04-23 31 views
0

自分のプロジェクトに自分のUSARTライブラリを追加しようとしましたが、正しく認識されるように正しく追加できませんでした。ATMELスタジオ独自のライブラリを追加

私が追加したいUSART.cとUSART.hファイルを作成しました。これは私が試したものです:

1)適切なソリューション/プロパティ/ツールチェーン/ディレクトリ 2をクリックして)私はプロジェクトをビルドしようとすると、これらの2つのファイル

が、それはなかっただパスを追加します作業。メッセージはundefined reference to 'initUSART'です。

プロジェクトに自分のライブラリを追加するにはどうしたらいいですか?

enter image description here enter image description here

答えて

2

あなたの質問内のスクリーンショットは、あなたのライブラリのヘッダファイルを見つけるために、コンパイラのために配置されていることを示しています。しかし、ライブラリ関数(たとえばinitUSART)をコンパイルし、静的ライブラリファイル(lib接頭辞と.a拡張子)を作成する必要もあります。別のAtmel Studioプロジェクトが必要です。また、IDEの外部でAVR GCCツールチェーンを使用してライブラリをコンパイルする方法を学ぶこともできます。次に、リンカーのライブラリの検索パスにあるディレクトリにそのファイルを置き、適切な-l引数をリンカーに渡す必要があります。たとえば、ライブラリの名前がlibuart.aの場合は、-luartをリンカーに渡す必要があります。 Atmel Studioプロジェクトのプロジェクトプロパティには、設定が必要な関連設定があります。

GCCには、上記で概説した静的ライブラリのコンパイル、作成、およびリンクのための標準的な方法があります。 GCC静的ライブラリに関するチュートリアルからそのことを知ることができます。その知識をAVR GCCツールチェーンに適用し、Atmel Studio内の適切なオプションを見つけ出す必要があります。

脇:アトメルスタジオはライブラリをまったく使いやすくしていません。 Arduino IDEは、ライブラリのソースファイルを適切な場所に置いてコンパイルするだけで、はるかに優れた仕事をします。膨大な数のArduinoライブラリもあります。 Arduinoプラットフォームを使用できる場合は、独自のUARTドライバを作成する必要はありません。

簡易代替: CライブラリのコンパイルとリンクとIDEの設定についてよく分かっていない場合は、ライブラリファイルをプロジェクトにコピーしてソースファイルとして追加するほうがはるかに簡単ですプロジェクト内の他のソースファイルと同じようにAtmel Studioにコンパイルさせることができます。

関連する問題