BFLT Utilsのコンパイルの問題:libiberty.hがインストールされていますが見つかりません

BFLT Utilsのコンパイルの問題:libiberty.hがインストールされていますが見つかりません

BFLT Utils(https://github.com/nihilus/bflt-utils)が、次のエラーが発生し続けます。

$:/tmp/bflt-utils/flthdr# make
gcc -Wall -g -O2 compress.c -c
gcc -Wall -g -O2 stubs.c -c
gcc -Wall -g -O2 flthdr.c -c
flthdr.c:22:23: fatal error: libiberty.h: No such file or directory
     #include <libiberty.h>
                           ^
compilation terminated.
Makefile:16: recipe for target 'flthdr.o' failed
make: *** [flthdr.o] Error 1

libiberty-devを使用してインストールしましたapt-get install libiberty-devfind / -name libiberty.*

/usr/include/libiberty/libiberty.h

以下を使用してパスを追加するためにMakefileを変更してみました。

CC=gcc
CFLAGS=-Wall -g -O2 -L/usr/include/libiberty
LDFLAGS=-lz -lc -lbfd -liberty
TARGET=flthdr

$(TARGET): compress.o stubs.o flthdr.o
    $(CC) $(CFLAGS) -o $(TARGET) *.o $(LDFLAGS)

compress.o:
    $(CC) $(CFLAGS) compress.c -c

stubs.o:
    $(CC) $(CFLAGS) stubs.c -c

flthdr.o:
    $(CC) $(CFLAGS) flthdr.c -c

clean:
    rm -f *.o $(TARGET)

しかし、まだ同じエラーが発生します。

なぜヘッダファイルが見つかりませんか?

ベストアンサー1

上記のマークのコメントは正しいです。代わりにCFLAGSaddを使用する必要があります。コンパイラのフラグはライブラリが見つかる場所を示しますが、見つかりません。-I-L-Lヘッダー文書代わりに。

(はい、ヘッダファイルの名前はthatlibiberty.hですが、これがライブラリという意味ではありません。)

通常、-LmakefileLDFLAGSと関連変数にフラグを使用します。

(私は持っていますこの問題を報告しましたプロジェクトに追加されますので、修正したら他のユーザーには影響しないことを願っています。 Torraさん、パッチやプールリクエストを提供することもできます。 )

おすすめ記事