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. ベリックス用メイクファイルにライブラリを追加する方法
- 3. メイクファイル - ライブラリを含む
- 4. ライブラリを.hにメイクファイルを添付する
- 5. SonarにJavaScriptライブラリを追加
- 6. ビジュアルスタジオプロジェクトにjsライブラリを追加
- 7. アンドロイドスタジオプロジェクトにライブラリを追加
- 8. Shell32.libへの依存関係をWDKメイクファイルに追加
- 9. メイクファイルでCライブラリをリンクする方法
- 10. Androidライブラリを追加する
- 11. ライブラリを追加する
- 12. qmakeでpclライブラリを追加
- 13. ライブラリをグラデーションに追加しよう
- 14. Python 2.7ライブラリにモジュールを追加する
- 15. Symfony2プロジェクトに外部ライブラリを追加
- 16. MavenにJavaライブラリを追加する
- 17. プロジェクトに外部ライブラリを追加する
- 18. Aureliaプロジェクトにライブラリを追加する
- 19. Qtの問題にQscintillaライブラリを追加
- 20. AndroidプロジェクトにChartdroidライブラリを追加する
- 21. MFCプロジェクトにライブラリを追加する
- 22. JSF-TomahawkライブラリをEclipseに追加
- 23. DCM4CHEライブラリをMavenプロジェクトに追加する
- 24. nixpkgsにlinenoiseライブラリを追加する
- 25. CMakeにQT5ライブラリを追加する
- 26. ライブラリをsilexに追加します
- 27. Android/Eclipseプロジェクトにライブラリを追加する
- 28. eclipseに内部ライブラリを追加する
- 29. アンドロイドスタジオプロジェクトにライブラリを追加しますか?
- 30. Netbeansにライブラリを追加する方法
これはヘッダーです。あなたのソースにそれを含めてください。ライブラリをリンクするには(例えば、libblah.aはコンパイラオプションとして-lblahを使用します) – rscarson
申し訳ありませんが、私の言うことを理解できません。私のev3c.hのパスは/ home/daniele/ev3c/includeです。 makefile? – Daniele