none
VisualStudioデバイスドライバ開発 毎回追加のインクルードファイルとバージョンを変更しなければならない RRS feed

  • 質問

  • 環境はwindows10 pro VisualStudio2017

    empty_WDM_driverでドライバーを作成しているのですが、

    最近mfcアプリの作成環境を作成してから設定が面倒になってしまいました。

    以下の設定を施さないとntddk.hなどの主要のインクルードファイルが認識されないようになってしまいます。

    プロパティ-<構成プロパティ-<windows sdk version を$(LatestTargetPlatformVersion)から
    10.0.17134.0

    に変更してから

    C/C++-<全般-<追加のインクルードディレクトリ-<編集で$(IncludePath)

    $(IncludePath)の中身は

    <strike>C:\Program Files(x86)\Windows Kits10\Include\10.0.17763.0\km\crt;

    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\km;

    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;

    C:\Program Files(x86)\Windows Kits\10\Include\10.0.17763.0\km

    </strike>

    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\km\crt

    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\km

    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared

    %(AdditionalIncludeDirectories)

    以上の設定をを毎回しなければいけない状態になってしまったのですが、
    以前はしなくてもよかったです。

    どうにか改善する方法はありませんか。







    2018年11月25日 7:07

すべての返信

  • プロジェクト プロパティの、<構成プロパティ> → <VC++ ディレクトリ> → <インクルード ディレクトリ> の編集で、「親またはプロジェクトの規定値から継承」チェックボックスはどーなってますか?
    2018年11月26日 1:52
  • 返信遅れてすいません。

    新規にプロジェクトを作成した後、確認してみたのですが、

    「親またはプロジェクトの規定値から継承」にチェックボックスが入っていました。

    ついでなんですが、継承の値は

    $(CRT_IncludePath)
    $(KM_IncludePath)
    $(KIT_SHARED_IncludePath)

    となっておりました。




    2018年11月30日 10:19
  • > $(CRT_IncludePath)
    > $(KM_IncludePath)
    > $(KIT_SHARED_IncludePath)

    上記マクロが示す実際の Path はどーなっていたのですか?
    正しく設定されてるなら、それらは以下を示しているはずです。

    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\km\crt
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\km
    C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared

    つまり、あなたが手動で設定している Include Path は、それらマクロで既に定義済みなはずであり、Path が通らないということは、あなたがそれらマクロをぶっ壊したんだと思います。
    ちなみに、あなたがこのスレッドに提示した

    "C:\Program Files(x86)\Windows Kits10\Include\10.0.17763.0\km\crt"

    という Path は、本当に正しいですか?
    私には、Space や '\' が明らかに欠落しているように見えます。

    2018年12月3日 5:54
  • Visual Studio + SDK,WDKのドライバー開発環境は近年では安定して来てはいるものの、時として設定が狂ってしまう事があるようです。そんな場合には、下記の方策が時として有効ですので試してみてはいかがでしょうか。

    1. Visual Studioの「更新」を実行する。
    2. Visual StudioとSDK,WDKを一旦全てアンインストールしてからインストールし直す。
    3. 複数のVisual Studio + WDKの開発環境を用意しておいて、動作を比較する。

    ご参考までに補足すると、上記1.は一昨年ごろまでは、結構な割合でWDKの問題が修正されていました。3.は業務でドライバー開発をする場合には、ほぼ必須です。また可能であれば、MFCとドライバー開発は分けた方がいいと思います。

    2019年2月11日 5:35
    モデレータ