0

Clang でビルドされたオブジェクト ファイルを使用しています。しかし、どのライブラリ引数を渡してもld.exe、常に未解決の参照memcpy、標準ライブラリ、_cxa_atexit などの実装などを吐き出すようです。

オブジェクト ファイルを実行可能ファイルにリンクするには、MinGW リンカーに渡す必要があるライブラリ (および順序) を教えてください。

編集:

トリプルを「i686-pc-mingw」から「i686-pc-mingw32」に変更すると、ほとんどの問題が解決しました.Clangは、「入力が明らかに間違っていて、出力がうまくいかない場合、静かに失敗する」という古いD3D9トリックを実行します正しいかもしれない」。しかし、未解決の外観が 2 つだけ残っています。これは と の一部std::_Hash_implfloatありdouble、変更はありません。プログラムはただの「Hello, World!」です。不思議なことに、clang++.exe も g++.exe もソースのコンパイルに問題はありませんが、Clang C++ API を使用して .o にコンパイルし、それを MinGW に戻すと、未解決の外部が得られます。

4

1 に答える 1

2

一般に、バイナリをビルドするときに異なるツールチェーンを使用することはお勧めできません。さまざまなツールのシンボル名の考え方が一致しない可能性は十分にあります。

それでも、実際の質問に答えようとしています:

-lstdc最小要件であり-lstdc++、C++ コードの場合。あなたのコードが何をするかを知らなければ、もっとそれらが必要かどうかを言うことは不可能です.

于 2012-12-29T14:53:35.803 に答える