HPUXでは、ブースト1.39.0共有ライブラリに正しいパスを含めるには、+ hリンクオプションを使用する必要があります。 「HPUXのビルドを強化するリンカオプションを追加
796c796
< "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
---
> "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,+h$(SPACE)-Wl,$(<[-1]:D=) -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
しかし、今、私は永久的な解決をしたい、と私は次のことができます(http://www.nabble.com/HPUX-aCC:-Howto-avoid-building-boost-libraries-containing-absolute-library-path-references-when-calling-bjam-install-td17619511.htmlから)
-Wl,+h$(SPACE)-Wl,$(<[-1]:D=)
は
私は、これはgcc.jamツールセットファイルをハッキングすることで動作することをテストしてみましたどのように働くか。
まず、actions link.dll
セクションにbjam条件を入れてみましたが、そのセクションにはシェルコマンドが含まれています。
次に、これらのターゲットのOPTIONS変数に余分なセクションを追加しようとしました。しかし、それはリンクに何の影響も与えていないようです。
最後に、gcc.jam
(hpuxgcc.jam
)のコピーとして別のツールセットを作成しようとしましたが、それは全く機能しませんでした。私は変数名を変更する必要がある場所がたくさんあると思いますが、Jamの構文はわかりません。
誰かがこれをうまく利用する方法を知っていますか?または、私はちょうど私がブーストを構築する前に実行するパッチにハッキーバージョンを変換する必要がありますか?確かに良い方法がありますか?
は質問がどちらかです推測です:
a)のI(プラットフォーム上の条件が)gcc.jamにリンカのコマンドにテキストを追加するにはどうすればよい
または:
B) gcc.jam
に基づいて新しいツールセットを作成するにはどうすればよいですか?
これは簡単です...
Aは、HP-UXでHAVE_SONAMEとSONAME_OPTIONを設定し、問題を解決したブロックを追加しました。ありがとう。 –
パッチ(svn diff出力)を[email protected]にドロップして公式バージョンに含めることができます。ありがとう。 –