私はこのようなメイクファイルを書きました:
HEADER = -I./cygdrive/c/cpros/kajj/source4
LIBB = -L./cygdrive/c/cpros/kajj/source1 -L./cygdrive/c/cpros/kajj/source2
LIBRA = -larith -ldekk
target : game.o
gcc $(HEADER) $(LIBB) $< -o $@ $(LIBRA)
game.o : game.c
gcc -c game.c
独自の静的ライブラリを作成し、ヘッダーファイルパスとライブラリパスをインクルードしました。 makefileを実行すると、/usr/lib/gcc
が-larith -ldekk
を見つけることができないというエラーが表示されます。
これはlib /ディレクトリを指していますが、そこにはありません。-ldekk
と-larith
はそれぞれsource1ファイルとsource2ファイルにあります。
このエラーを解決する方法は?
の代わりに -L./cygdrive/c
、 使用する -L/cygdrive/c
。ドットは、ライブラリパスを現在のディレクトリから相対パスにします。つまり、ドライブCではなく現在のフォルダのcygdrive
サブフォルダを検索します。
私の改訂されたMakefileライブラリの行は次のとおりです。
LIBS=-L/usr/lib/arm-linux-gnueabihf -lrtlsdr -lpthread -lm
これにより、2019年12月30日時点で最新のRaspbainを実行しているRaspberry Pi4の問題が解決されました