0

XE5 で次のリンカー エラーの多くのバージョンを取得します。

[ilink32 Error] Error: Unresolved external '__stdcall System::UnicodeString::~UnicodeString()' referenced from <Location>

これまで読んだすべてから、プロジェクト設定のインクルード構造に何か問題があり、すべての文字列メソッドが実際に定義されている場所にアクセスできないようですが、私の人生では、どこにあるのかわかりませんこれらはあるはずです。

4

1 に答える 1

1

この問題はインクルードとは関係ありません。インクルードの問題は、コンパイラにのみ影響します。あなたのプロジェクトはUnicodeStringクラスを使用しているため、コンパイラUnicodeStringは での宣言方法に基づいて のメソッドへの参照を生成しustring.h、コンパイラを満足させます。

コンパイラが生成した参照を解決できないため、代わりにリンカーエラーが発生します。これは、実際のUnicodeStringメソッド本体を実装する Embarcadero の RTL ライブラリへの必要な参照がプロジェクトにないことを意味します。これは、プロジェクトが最初から間違って作成/インポートされたか、破損したことを示唆している可能性があります。デフォルトのライブラリ参照が使用されるようにプロジェクトを最初から再作成し、既存のコード ファイルをその新しいプロジェクトに再度追加する必要がある場合があります。

于 2014-03-19T22:20:47.983 に答える