2012-02-16 19 views
9

メトロアプリケーションでOpenSSLを使用しようとしています。 D8048: cannot compile C file 'openssl\applink.c' with /ZW optionD8048:/ ZWオプションでCファイル 'openssl applink.c'をコンパイルできません。

誰もが私が得るために、この問題を解決する方法を私に伝えることができます:私はC++ WinRTComponentを作成し、私はプロジェクトをコンパイルしようとすると、

しかし、このコンポーネントの下のopensslファイルを持って、私は次のエラーを得ましたコンパイルする私のプロジェクト?

他の情報が必要な場合は教えてください。

おかげで、

答えて

20

エラーメッセージは、それはそれは言うことを正確に - VC++は、C++/CX拡張をサポートしていません - /のZWコンパイラスイッチで有効になって - ちょっと理にかなっているC(としてコンパイルされたファイルには、これらのことから拡張はオブジェクト指向です)。

これは、デフォルトでMetro C++プロジェクトのすべてのファイルが/ ZWでコンパイルされるためです。残念ながら、これは実際には動作しませんが、.cファイルにも当てはまります。必要なのは、これらのファイルの拡張子を選択的に無効にすることです。ソリューションエクスプローラでファイルまたは選択したファイルの右クリック - >プロパティを使用して、これを行うことができます。プロパティページのダイアログで、C/C++ - >一般にナビゲートし、 "Enable Windows Run Time Extensions"を探します。

+0

ありがとう@ParvelMinaev、私はもはやこのエラーを取得せず、LNK2019:未解決の外部シンボル...いくつかのopensslメソッド名について不平を言いました。私はこれがこのポストとは別の問題だと思う。とてもありがとうございました。 –

+0

@Louis_PIGあなたは問題を修正しましたか?私はextern "C" {}を宣言し、それは働いた – onmyway133

関連する問題