linkの "Real"クロスコンパイラの説明を使用してガイドを実行します。ガイドのbottonには、標準的なmakefileがあります。私は簡単なプログラムをC言語で書いています。今、私はライブラリ "ev3c.h"でプログラムを書くつもりです。このライブラリをmakefileにどのように追加できますか?メイクファイルにライブラリを追加
答えて
のトップへの#include「ev3c.h」を追加し、ヘッダを持っている、でそれに-I /home/daniele/ev3c/include
を渡しますレシピ それは#include "someheader"
とそのパスから#include
を許可します。
インクルードファイルのMake処理に関しては、暗黙的な依存関係があります。つまり、コンパイラがclang
やgcc
などのファイルを検出できるため、依存関係を明示的に指定したくないからです。それらを適切なMakefileルールに追加してください。例えば
:
%.o: %.c
$(COMPILE.c) -I /home/daniele/ev3c/include $(OUTPUT_OPTION) $< -MMD -MF $(patsubst %.o,%.o.d,[email protected])
-include $(wildcard *.o.d)
これはコンパイラを持っていますが、各コンパイルされたCファイルとの依存関係を含める検出
-MMD -MF somefile
-include
行でこれらの依存関係がMakefileに追加されるため、Cファイルに
"foo.h"
とfoo.hが変更された場合、明示的な依存関係として
foo.h
が指定されていない場合でも
make
は再コンパイルをトリガーします。
.hファイルはヘッダーです。ヘッダーは、ライブラリのようにコンパイル時ではなく、ソースコードに含まれています。
#include "ev3c.h"
たとえば、
ライブラリの拡張子は、たとえば.aのように異なります。コンパイラを呼び出す行のmakefileにlibev3c.aを追加すると、
-lev3c
が追加されます。あなたはGCCや打ち鳴らすを使用している場合しかし、あなたはそう簡単にソースコード(.cファイル)
おそらく '-I/home/daniele/ev3c/include'と' -L/home/daniele/ev3c/lib'をコマンドラインに追加する必要があります。おそらく 'EV3CDIR = $ {HOME}/ev3c'によってマクロとして扱われ、makeルールに' $ {EV3CDIR} 'が使われるかもしれません。 –
- 1. ライブラリをメイクファイルに追加する方法
- 2. cメイクファイルに追加のソースディレクトリを追加
- 3. ベリックス用メイクファイルにライブラリを追加する方法
- 4. メイクファイル - ライブラリを含む
- 5. ライブラリを.hにメイクファイルを添付する
- 6. ビジュアルスタジオプロジェクトにjsライブラリを追加
- 7. wachライブラリをpycharmに追加
- 8. pdstライブラリにインタースティシャルを追加
- 9. SonarにJavaScriptライブラリを追加
- 10. アンドロイドスタジオプロジェクトにライブラリを追加
- 11. Shell32.libへの依存関係をWDKメイクファイルに追加
- 12. xv6メイクファイルに汎用ファイルを追加する
- 13. メイクファイルでCライブラリをリンクする方法
- 14. ライブラリが追加GoogleMobileAds
- 15. qmakeでpclライブラリを追加
- 16. ライブラリを追加する
- 17. Androidライブラリを追加する
- 18. メイクファイルの追加とオーバーライドの両方を許可する
- 19. Python 2.7ライブラリにモジュールを追加する
- 20. DCM4CHEライブラリをMavenプロジェクトに追加する
- 21. GitHubからアンドロイドプロジェクトにライブラリを追加
- 22. Qtの問題にQscintillaライブラリを追加
- 23. CMakeにQT5ライブラリを追加する
- 24. Netbeansにライブラリを追加する方法
- 25. AndroidプロジェクトにChartdroidライブラリを追加する
- 26. Symfony2プロジェクトに外部ライブラリを追加
- 27. MavenにJavaライブラリを追加する
- 28. Aureliaプロジェクトにライブラリを追加する
- 29. 外部C++ライブラリをCLionプロジェクトに追加
- 30. アンドロイドスタジオプロジェクトにライブラリを追加しますか?
これはヘッダーです。あなたのソースにそれを含めてください。ライブラリをリンクするには(例えば、libblah.aはコンパイラオプションとして-lblahを使用します) – rscarson
申し訳ありませんが、私の言うことを理解できません。私のev3c.hのパスは/ home/daniele/ev3c/includeです。 makefile? – Daniele