10

libffiをVS11でコンパイルすると、次のリンカーエラーが発生します

libffi\libffi-3.0.9\ms\Win32\Debug\ffi.dll : fatal error LNK1281: Unable to generate SAFESEH image.

同じプロジェクトはVS10で正常にコンパイルされていましたが、VS2012で自動アップグレードした後、リンカーエラーが発生し始めました

MSDNの説明はわかりにくいため、あまり役に立ちません。

で再構築するかもしれませんが/SAFESEH:NO、その意味がわかりません。

何がうまくいかないか教えてください。

4

1 に答える 1

20

持っていないことの主な意味は、アプリケーションがWindows8ストアまたはWindows8デスクトップ認定SAFESEHで受け入れられないことです。それが問題にならない場合は、お気軽に使用してください。/SAFESEH:NO

ドキュメントには次のように書かれています。

リンカがイメージを生成できない最も一般的な理由は、リンカへの1つ以上の入力ファイル(モジュール)が安全な例外ハンドラ機能と互換性がなかったためです。モジュールが安全な例外ハンドラーと互換性がない一般的な理由は、モジュールが以前のバージョンのVisualC++のコンパイラーで作成されたためです。

プロジェクトをVS2012にアップグレードすると、設定がに変更された可能性はありますか/SAFESEH:YES。おそらく、で構築したことはありませんSAFESEH

于 2013-01-31T17:10:30.497 に答える