0

g++ の代わりに clang++ を使用して、後で gnu リンカーによってリンクされるオブジェクト ファイルを作成しようとしています。

ネイティブのclang ++を使用してこれを正常に実行できますが、プラグインでclang ++を使用すると、リンクエラーが発生します:

clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用してください)

大丈夫!オブジェクトファイルだけが必要です!ただし、-S または -c を指定すると、.o を使用して出力ファイルを明示的に指定しても、オブジェクト ファイルが取得されません。

clang のサンプル プラグインを使用しても、これを行うことができません。

オブジェクトファイルを与えるためにclangを取得するにはどうすればよいですか?

どうもありがとう!

4

1 に答える 1

7

これと同じ問題がありました。私にとっては、コマンドラインで「-plugin」を「-add-plugin」に置き換えると、問題が解決しました。違いが何であるか、またはなぜ機能したのかはわかりませんが、機能しました。

また、コマンド ラインで「-cc1」を使用している場合は、それを削除して、すべてのプラグイン固有の引数の前に「-Xclang」を付けてみてください。つまり、「clang -Xclang -load -Xclang plugin.so -Xclang -add-plugin -Xclang」プラグイン名」. 繰り返しますが、なぜ -cc1 が機能しなかったのかはわかりませんが、機能しなかったため、これで修正されました。

于 2012-07-23T13:34:37.153 に答える