2016-07-14 7 views
1

helloworldパッケージがあり、openwrt buildrootでramipsデバイスを構築することができます。 Makefileには特別なインクルード(ulibc)と特別な依存(DEPENDS:= + libc)があります。パッケージはデバイス上に構築され、動作します。 今私はのgSOAPは私のHelloWorldパッケージ内のコードを生成含める必要があり、その後私は、リンクエラーがあります。OpenWRTパッケージとlibstdcppをリンクする方法

undefined reference to `std::ios_base::Init::Init()' 

私はこのケースで何ができますか?次のステップ - opensslサポートとWS Securityを追加すると、OpenWRTデバイスで動作するのでしょうか?

答えて

0

私は私の問題を解決しました:

  1. $(CXXFLAGS)uClibcを++を含ま

  2. に$(CC)から $(CXX)+ $(CFLAGS)に私のパッケージソースのMakefileの

    変更されたコンパイラー。MK package.mk

  3. が唯一の依存関係を追加します。依存します= + uclibcxxこのLNKエラーが修正されました後

。 @ amine.ahdに感謝します!

0

あなたのOpenWrtのに別々のパッケージとしてのgSOAPを追加して(ちょうどあなたがlibcのために何をしたかのように)あなたのHelloWorldパッケージへの依存関係として追加する必要があり

+0

しかし、別のgSoapパッケージをビルドしようとすると、同じリンクの問題が発生します。ソースにはlibstdcppが必要です。ではない? – antropoff

+1

Openwrtに 'libstdcpp'のパッケージが既にありますので、[here](https://forum.openwrt.org/viewtopic.php?id=25928)をチェックしてください また、' uClibC++ ' 'libstdcpp'。 –

関連する問題