【解決方法】エラー D8016 を解決する方法: /clr と &/EHs コマンド ライン オプションに互換性がありません。

プログラミングQA


こんにちは、みんな 、

C++ プロジェクトの C#.net クラスにアクセスしたいと考えています。
これを行うために、プロジェクトのプロパティ設定を次のように変更しました
プロジェクトのプロパティ設定 -> 一般 -> 共通言語ランタイム サポートから共通言語サポート (clr)
このプロパティを設定した後、次のエラーが発生します。

エラー 2 コマンド ライン エラー D8016 : /clr および &/EHs コマンド ライン オプションは互換性がありません cl

誰か助けてくれませんか?
前もって感謝します……

よろしく、
RJ

解決策 2

MSDN より: /clr は /EHa を暗黙的に示すため、/clr と一緒に他の /EH コンパイラ オプションを指定することはできません。

したがって、プロジェクトのプロパティでこのオプションを変更してみてください。C/C++ のコード生成で、「C++ 例外を有効にする」を適切な値に変更します。

それでも動作しない場合は、新しい C++/CLI プロジェクトを作成し、既存のソース ファイルをこの新しいプロジェクトに追加することを検討してください。

解決策 1

このリンクからアイデアが得られるかもしれません http://forums.devx.com/showthread.php?t=93941[^]

/EH スイッチは、C++ 型例外処理メカニズムを有効にするようにコンパイラーに指示します。
試してみることができます /EHs または /EHc または /EHsc

解決策 4

プロジェクトの以下のプロジェクトプロパティを変更して試してみましたが、うまくいきました。
1.[構成プロパティ]を設定します ->[C/C++]->[コード生成]->[C++ 例外を有効にする]

Yes with SEH Exceptions (/EHa)

2.設定プロパティ -> C/C++ -> 一般 -> 共通言語ランタイムサポート (/clr) を設定します。

3.構成プロパティ -> 詳細設定 -> 共通言語ランタイム サポート (/clr) を設定します。

コメント

タイトルとURLをコピーしました