none
Stdafx.cppがコンパイルできない。 RRS feed

  • 質問

  • プロジェクトをビルドしようとすると以下のエラーで先に進みません。

    xxxxxxxxがプロジェクト名で、VC++6.0から移行したものです。

    --------------------------------------------------------------------

    InitializeBuildStatus:
      "AlwaysCreate" が指定されたため ".\Debug\xxxxxxxx.unsuccessfulbuild" を作成しています。
    ClCompile:
      StdAfx.cpp
      _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
    c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atlsimpstr.h(511): fatal error C1085: プリコンパイル済みヘッダー ファイルへ書き込めません。'Debug/xxxxxxxx.pch': システム リソースが不足しているため、要求されたサービスを完了できません。

    ビルドに失敗しました。

    --------------------------------------------------------------------

    システムリソースが不足しているとは、思えないのですが...

    プロジェクトファイルは、ネットワークドライブY:に割り当てています。

    職場の他のPCではこの様な現象が発生せず、私のPCでのみ発生するようです。

    以前ある海外のフォーラムで、OracleのVirtualBOXをインストールした場合、ネットワークドライブ上のソースのコンパイルでこの現象が起きるとありましたので、OracleのVirtualBOXをアンインストールしました。一旦はこの現象は出なくなったのですが、しばらくすると再発するようになりました。

    解決法、ご存知の方、ご教授願います。

    VSのバージョンは以下のとおりです。

    Microsoft Visual Studio 2010
    Version 10.0.40219.1 SP1Rel
    Microsoft .NET Framework
    Version 4.5.50938 SP1Rel

    インストールされているバージョン: Professional

    Microsoft Office Developer Tools

    Microsoft Visual Basic 2010

    Microsoft Visual C# 2010

    Microsoft Visual C++ 2010

    Microsoft Visual F# 2010

    Microsoft Visual Studio 2010 チーム エクスプローラー

    Microsoft Visual Studio Tools for Applications 3.0

    Microsoft Visual Web Developer 2010

    Add Reference Dialog Plus!   1.0
    An significantly enhanced Add Reference dialog for managed code projects.

    AlignAssignments   1.0
    Command for aligning assignments.

    AutoBraceComplete   1.0
    auto brace complete

    Crystal Reports Templates for Microsoft Visual Studio 2010  
    Crystal Reports Templates for Microsoft Visual Studio 2010

    Document Well 2010 Plus   1.0.10916.0
    This package provides configurable behavior for the Document Well and its tabs. Please be sure to let us know what you like/dislike about this extension.

    Microsoft Visual Studio 2010 Professional - 日本語 (KB2529927) 用の修正プログラム   KB2529927
    Microsoft Visual Studio 2010 Professional - 日本語 (KB2548139) 用の修正プログラム   KB2548139
    Microsoft Visual Studio 2010 Professional - 日本語 (KB2549864) 用の修正プログラム   KB2549864
    Microsoft Visual Studio 2010 Professional - 日本語 (KB2565057) 用の修正プログラム   KB2565057
    Microsoft Visual Studio 2010 Professional - 日本語 (KB2635973) 用の修正プログラム   KB2635973
    Microsoft Visual Studio 2010 Professional - 日本語 (KB2645410) 用のセキュリティ更新プログラム   KB2645410
    Microsoft Visual Studio 2010 Professional - 日本語 (KB2736182) 用の修正プログラム   KB2736182
    Microsoft Visual Studio 2010 Professional - 日本語 (KB2890573) 用の修正プログラム   KB2890573
    Microsoft Visual Studio 2010 Professional - 日本語 (KB2938807) 用の重要な更新プログラム   KB2938807
    Microsoft Visual Studio 2010 Professional - 日本語 (KB3002340) 用の修正プログラム   KB3002340
    Microsoft Visual Studio 2010 Professional - 日本語 Service Pack 1 (KB983509)   KB983509
    Microsoft Visual Studio 2010 SharePoint Developer Tools   10.0.40219
    Microsoft Visual Studio 2010 SharePoint Developer Tools

    Microsoft.VisualStudio.QuickAccess.Package   1.0
    Awesome search bar.

    OptionsPageImpl   1.0
    Information about my package

    QuickFind   1.0
    Visual Studio 2010 Quick Incremental Find Extension

    VSColorOutput   1.4.5
    Color output for build and debug windows

    DoxyComment add-in for Visual Studio 2005/2008/2010
    DoxyComment add-in for Microsoft Visual Studio 2005/2008/2010. Copyright 2005 by Troels Gram. All rights reserved. Please see


    使用機種は、HP Compaq 6000 Pro SFF PC

    OSはWindows 7 Professional 32bit版

    以下スペックです。

    プロセッサ

    Intel(R) Core(TM)2 Duo CPU E7500 @
    2.93GHz

    メモリ (RAM)

    4.00 GB


    グラフィックス

    NVIDIA GeForce 8400GS

    2045 MB の 利用可能な総グラフィックス メモリ


    プライマリ ハード ディスク

    空き 71GB (合計 231GB)



    • 編集済み kumannki 2015年4月13日 9:57
    2015年4月13日 9:52

回答

  • とりあえず、コンパイラが指摘していることを直してみてはどうでしょう。
    内容は「_WIN32_WINNT」が定義されていないので「_WIN32_WINNT_MAXVER」が採用されるよ。
    詳しくは「WinSDKVer.h」を見てねってことですね。
    最近のVSでは「targetver.h」内で、ビルドのターゲットとするOSのバージョン等を指定することになってます。
    「targetver.h」はプリコンパイルヘッダーの先頭でインクルードされ、以後の全ての定義に影響を与えます。
    以上を勘案すると、

    1.「StdAfx.h」がプリコンパイルヘッダーとして正しく指定されていることの確認。
    2.「StdAfx.cpp」がプリコンパイルヘッダーを生成するように指定されていることの確認。
    3.「targetver.h」ないし「StdAfx.h」の先頭で「_WIN32_WINNT」が
      ターゲットプラットホームを指定していることの確認。

    などを、まずやってみましょう。

    さて、以降は蛇足です。
    VC6.0のソースはVC2010でコンバートしても、エラーと警告の山になり一足飛びにコンパイルできるものではありません。
    まず、VS2010のプロジェクトウィザードで対象アプリの構造に最も近いテンプレートを選択して、自動生成し、
    新旧C/C++言語仕様の違い、セキュリティ強化、VSの違い、新旧MFCの違い、プラットホームの違い、
    文字コードの考慮等について十分学んでからでないとポーティングは困難であると想像できます。
    また、開発マシンとしては貧弱すぎ、さらに足を引っ張る可能性があることも指摘しておきます。

    2015年4月14日 1:23