2016-03-24 16 views
0

私はC++コンパイル/リンクの新人です。ライブラリを静的にgccにリンクする方法を教えてください。

すべてのライブラリをgccで静的にリンクしようとしていますが、LDFLAGS = -staticを使ってみましたが動作しませんでした。エラーメッセージが示した:

/binに/ SH ./libtool --tag = CXX --mode =リンク/ホーム/ dizhang/libに/ HDF5/binに/ H5C++ -g -O2 -L /ホーム/ dizhang/libtool:link:/ home/dizhang/lib/hdf5/bin/h5C++ -g -O2 lib/blitz/lib -L ​​/ home/dizhang/lib/libconfig/lib -oアンゴラsrc/libangora.la -lblitz -lconfig ++ -l/home/dizhang/lib/blitz/lib -L ​​/ home/dizhang/lib/libconfig/lib src/.libs/libangora.a -L/bgsys/drivers/V1R2M2/ppc64/comm/lib64 - L/bgsys/drivers/V1R2M2/ppc64/comm/lib -L ​​/ bgsys/drivers/V1R2M2/ppc64/spi/lib -lpthread -lm /home/dizhang/lib/blitz/lib/libblitz.a/bgsys/ drivers/V1R2M2/ppc64/comm/lib/libmpichcxx-gcc.so /bgsys/drivers/toolchain/V1R2M2_base/gnu-linux/powerpc64-bgq-linux/lib/libstdc++.so/bgsys/drivers/V1R2M2/ppc64/comm/lib/libmpich-gcc.so /bgsys/drivers/V1R2M2/ppc64/comm/lib/libopa-gcc.so/bgsys/driv linux/powerpc64-bgq-linux/libc/libc/libc/libc/libc/libc/libc/libc/libc/libc/libc/libc/lib/libstdC++。so -Wl、-rpath -Wl、/ bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/powerpc64-bgq-linux/lib -Wl、-rpath -Wl、/ bgsys/drivers/V1R2M2/vgsys/drivers/toolchain/V1R2M2_base/gnu-linux/powerpc64-bgq-linux/lib -Wl、-rpath -Wl、 vgsys/drivers/V1R2M2/ppc64/comm/lib -Wl、-rpath -Wl、/ bgsys/drivers/toolchain/V1R2M2_base/efix014/gnu-linux/powerpc64-bgq-linux/gnu-linux/powerpc64-bgq-linux/lib /bgsys/drivers/toolchain/V1R2M2_base-efix014/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.7/../../../ ../powerpc64-bgq-linux/bin/ld:動的オブジェクトの静的リンクを試みました `/bgsys/drivers/V1R2M2/ppc64/comm/lib/libmpichcxx-gcc.so ' collect 2:ldは

1つの終了ステータスを返した私はいくつかの検索を行なったし、Makefileの-Wl -Bstaticを伝えることは、この問題を解決する、ことがわかったが、私は私のMakefileの中でこれを変更すべきかを正確に?

Makefileで-Wlを検索しようとしましたが、テキストにありませんでした。あなたはBGQ上のMPIをサポートしてHDF5を構築しようとしているよう

おかげで、

ディ

答えて

0

が見えます。

BGQでlibの ".so"バージョンをgccに渡すと、このエラーが表示されます。 MPI情報をHDF5のconfigureスクリプトに渡す方法を確認する必要があるかもしれません。

私の場合(CMakeを使用する別のプロジェクトを構築する)BGakeのMPIコンパイララッパーをCMakeに渡すと、静的なものの代わりに共有ライブラリを使用してMPIをリンクしようとする問題が常に発生します。これを解決するために、MPIライブラリの ".a"変種を明示的に指定する必要がありました。

関連する問題