3

-rpathLD_LIBRARY_PATH を使用する代わりに、makefileのオプションでライブラリ検索パスを指定したいと考えています。どうやってやるの?検索パスが現在のディレクトリであると仮定します。

4

3 に答える 3

3

次の 3 つのオプションがあります。

  • LDFLAGS を使用してオプションを指定しますld

  • コンパイルとリンク用に個別のルールを作成し、そこで直接parr でき-rpath=/what/everますld

  • -Wl,ldoptionforを使用してリンカーgccに伝播します。ldoptionあなたの場合:

    gcc ... -Wl,rpath=/what/ever ...

LD_LIBRARY_PATH は、実行可能ファイルを作成するリンカー ( ) ではなく、ダイナミックリンカー/ローダー ( ) に対して機能することに注意してください。lddld

于 2012-12-11T13:28:52.143 に答える
1

フラグは-rpathリンカーに渡す必要があります。-Wlgcc がそれらを ld に渡すようにするには、すべてのフラグの前に を付けます。

LDFLAGS = -Wl,-rpath -Wl,.
于 2012-12-11T13:29:00.197 に答える
0

LDFLAGS += --rpath-link /home/hp/Desktop/staging_dir/target-mips_uClibc-0.9.30.1/root-brcmref/lib/ld-uClibc.so.0

メイクファイルの例:

all: test


%.o: %.c
    $(CC) $(CFLAGS) -c -o $@ $^

test: test1.o test2.o
    $(CC) $(LDFLAGS) -o $@ $^
于 2012-12-11T13:28:20.007 に答える