1
私は1つのmakeファイルを(mylib.dllに)コンパイルして、少なくとも2つのLinuxアーキテクチャーi686とarmv61(mylib.soに)でリンクします。makefile別々のアーキテクチャーに異なるリンカーフラグを設定する
リンカーフラグを手動で設定すると、私のコードはコンパイル/リンクOKになります。
しかし、特定のARC値に基づいてリンカーフラグを設定したいのですが、スニペットを参照してください。私のi686のオン
<code>
ARCH = "?"
ARCH = $(shell arch)
$(info ARCH is [$(ARCH)])
LD_FLAGS = "?"
ifeq "$(ARCH)" "i686"
LD_FLAGS = -shared -lSDL
endif
ifeq "$(ARCH)" "armv61"
LD_FLAGS = -shared -lSDL -L/usr/lib/arm-linux-gnueabihf
endif
$(info LD_FLAGS is [$(LD_FLAGS)])
</code>
私が手:私のarmv61オン
<code>
ARCH is [i686]
LD_FLAGS is [-shared -lSDL]
make: Nothing to be done for 'all'.
</code>
は私が取得:
<code>
ARCH is [armv6l]
LD_FLAGS is ["?"]
... (error stuff!)
</code>
だからARCHがOKに設定されているが、LD_FLAGSが、私は愚かな何かをやっているされていませんifeqなど
エラーが何であるか、どのようにmakeファイルを修正するのですか?
ありがとうございました。
おっと....いまいましい私の古い犬の目、私はちょうどチェックし、あなたの権利を代わりに(
armv61
対armv6l
)l
の1
を書いた、黒に緑のように見えますが、アップグレードを必要とします...ありがとう – reddog0000