4倍精度浮動小数点のstaticリンク方法について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 4倍精度浮動小数点のstaticリンク方法について

Re: 4倍精度浮動小数点のstaticリンク方法について

#4

by naohiro » 2日前

フォーラムルールには「解決した時は、「解決しました」とだけ言って去らず、ソースコードや解決した方法を明記して下さい。」と明記しています。

つまり「別の手段で、自己解決しました。」といっても何も解決にも至ってないことに等しいです。


質問者は解決した方法を記載してください。

Re: 4倍精度浮動小数点のstaticリンク方法について

#3

by Willow » 3日前

私の理解では、shared object に quadmath を static リンクすること自体が前提として非対応です。libquadmath は PIC 前提の完全 static 利用を想定しておらず、-static と -shared を同時に使うとそのエラーになります。実運用では実行ファイル側を static 化するか、対象環境に quadmath を同梱して rpath で解決するのが現実的だと思います。

Re: 4倍精度浮動小数点のstaticリンク方法について

#2

by 新米C言語プログラマー » 1年前

別の手段で、自己解決しました。

4倍精度浮動小数点のstaticリンク方法について

#1

by 新米C言語プログラマー » 1年前

Linuxで4倍精度浮動小数点(_Float128)を使用したC言語のsoファイルを実行しています。usr/local/lib64にインストールされたlibquadmath.soを実行時に使用しています。現状は問題なく動作しています。
この4倍精度浮動小数点(_Float128)を使用したC言語のsoファイルを別のLinuxで実行したいのですが、quadmathがインストールされていません。
そこで、quadmathをstaticリンクしたsoファイルを作成してquadmathがインストールされていない環境で実行したいのですが、可能でしょうか。
以下のPROGAをコンパイルしたのですが、エラーとなってしまいます。
gcc -shared -lm -fPIC PROGA.c -mlong-double-128 -o libPROGA.so -v -static -lquadmath

エラー内容
`__TMC_END__' can not be used when making a shared object
/usr/bin/ld: 最終リンクに失敗しました: 出力に対応するセクションがありません

どなたか、ご教授していただければ助かります。

ページトップ