2016-04-18 6 views
2

Visual Studio 2015(14.0)でtime.h(具体的には識別子timezonedaylighttzname)が見つかりません。インクルードはVisual Studio 2013(VC/includesの下)にあり、VS2015PlatformToolset=v120でコンパイルすると見つけられます。Visual Studio 2015でtime.h(タイムゾーン、昼光、tzname)が見つかりません

インストールは一部ですか?なぜtime.hがなく、再帰的grepでさえVS2015/VCであるのですか?これらの識別子を見つけることができないのでしょうか?

+0

どのバージョンのVS 2015をお使いですか?職業 ?エンタープライズ? –

+0

@AjitMedhekar professional –

答えて

1

ヘッダー、ソース、ライブラリは、別の ユニバーサルCRT SDKの一部として配布されるようになりました。このSDKはVisual Studioに付属しており、 がインストールされており、デフォルトで"C:¥Program Files(x86)¥Windows Kits¥10" "C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC "

Hereを参考にしてください。もともとGCCでコンパイルされた私のCプログラムは、ちょうどステファノBoriniのようなVisual Studioの2015年の下でコンパイルされないため

+0

これは非常に興味深いもので、本当に感謝のようです。 –

+0

VS2015の設定を再確認しました。私の設定( 'プロパティページ - >設定プロパティ - > VC++ディレクトリ - >一般 - >ディレクトリを含む)に' C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.10240.0 \ ucrt' ')。それは明らかに$ VC_IncludePathまたは$ WindowsSDK_IncludePathの下に継承されたプロパティとして持ち込まれています...だからこの時点で私は本当に何が問題なのか分かりません... –

1

は、私がここに来た、私はTIME.Hが提供するキーワードtimezoneに関するエラーメッセージを得ました。私はtime.hのMSVCバージョンをAjit Medhekarが言及した場所に見つけましたが、それは既に適切に含まれていました。

コンパイルエラーの実際の理由は、Microsoftがキーワード_timezoneに先頭のアンダースコアを付けていることです。おそらく百万のコンパイルスイッチのどこかで、この動作はGCC互換にすることができますが、私はこのアンダースコアをソースコードに追加しました。