これを実行しているcmake
が認識できないフラグ(-rdynamic
)がリンカに渡され、エラーが発生します。
このフラグをどこから取得したのかわからないので、フィルタリングしたいと思います。
を指定できるので、コマンドライン引数を読み、誤った引数をフィルタリングしてから、結果を実際のリンカに戻すプログラムを-DCMAKE_LINKER=<linker>
設定したいと思います。<linker>
私は使用していますが、awk '{gsub("-rdynamic", "");print}'
stdinを入力にしてldを出力にする方法がわかりません。
答え1
スクリプトは文字列 " "と一致bash
するパラメータを無視し、-rdynamic
他のパラメータを配列に追加してそのパラメータを繰り返します。引数が不足すると、ld
フィルタリングされたリストを使用して実行されます。
#!/bin/bash
declare -a finalopts
finalopts=()
for o in "$@"; do
if [ "$o" = "-rdynamic" ] ; then
continue
fi
#add all other options to the list
finalopts+=("$o")
done
exec ld "${finalopts[@]}"