none
AllocateUsrPhysicalPagesがリンクエラーとなる RRS feed

  • 質問

  • 大きな領域を獲得する方法としてAllocateUsrPhysicalPages関数を使用したいのですが

    リンクをする際に「引数照合の参照を使用しても見つかりません」となってしまいます。

    WINVERの設定を0x500にするなどの方式をとってみましたが結果が変わりません。

    リンクでエラーが出ないようにするために必要な設定に関してご存じの方がいらっしゃいましたら

    ご教示願います。

     

    2006年6月6日 1:18

すべての返信

  • AllocateUsrPhysicalPages()ではなく、AllocateUserPhysicalPages()とeが抜けているようですが、大丈夫でしょうか?また、_WIN32_WINNT に 0x0500を定義することになっているようです。

    2006年6月6日 2:00
  • コメントありがとうございます。

     

    失礼いたしました。投稿する際に一文字抜けてしまったようです。実際のソースではAllocateUserPhysicalPagesと

    正しく定義しております。申し訳ありません。_WIN32_WINNTはWINVERを指定すれば自動的に設定されるようです。

    とりあえず、_WIN32_WINNTも0x500で設定してビルドしましたが結果は変わりませんでした。

     

    一応ヘッダに定義してある部分を以下に抜粋いたします。

    =====

    #define _WIN32_NT 0x0500

    #ifndef WINVER
    #define WINVER 0x0500
    #endif
    #if WINVER < 0x0500
    #undef WINVER
    #define WINVER 0x0500
    #endif

    =====

    情報ありがとうございました。

     

    2006年6月6日 4:40
  • お使いのコンパイラのバージョンはいくつなのでしょう?

    VC6などですと INCLUDEファイルが古いので コンパイルエラーになりますよ

    新しい PlatformSDKをインストールして Include/Libのパス設定を見直してみましょう

    2006年6月6日 7:04
  • 情報提供ありがとうございます。

     

    使っている環境にはVC6と.NETの両方がインストールされております。

    環境変数確認を行った結果.NETのパスの方が先に通されておりますので

    問題ないかと認識しておりますが、間違っておりますでしょうか?

    -----

    ALLUSERSPROFILE=C:\Documents and Settings\All Users
    APPDATA=C:\Documents and Settings\XXXXXX\Application Data
    CLIENTNAME=Console
    CommonProgramFiles=C:\Program Files\Common Files
    COMPUTERNAME=026-AERITH
    ComSpec=C:\WINDOWS\system32\cmd.exe
    FP_NO_HOST_CHECK=NO
    HOMEDRIVE=C:
    HOMEPATH=\Documents and Settings\XXXXXX
    INCLUDE=C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include\;C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include
    LIB=C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib\;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib
    LOGONSERVER=\\GUILD
    MSDevDir=C:\Program Files\Microsoft Visual Studio\Common\MSDev98
    NUMBER_OF_PROCESSORS=1
    OS=Windows_NT
    Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared;C:\PROGRA~1\OASYS2~1\PBIN;C:\Program Files\OASYS2002\PBIN;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin;C:\Program Files\AuthoringTool\libpq.dll;
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
    PROCESSOR_ARCHITECTURE=x86
    PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel
    PROCESSOR_LEVEL=15
    PROCESSOR_REVISION=0209
    ProgramFiles=C:\Program Files
    PROMPT=$P$G
    PS5ROOT=C:\Program Files\Roxio\Easy CD Creator 6\PhotoSuite\
    SESSIONNAME=Console
    SystemDrive=C:
    SystemRoot=C:\WINDOWS
    TEMP=C:\DOCUME~1\XXXXXX\LOCALS~1\Temp
    TMP=C:\DOCUME~1\XXXXXX\LOCALS~1\Temp
    USERDOMAIN=TECHNICAL
    USERNAME=XXXXXX
    USERPROFILE=C:\Documents and Settings\XXXXXX
    VS71COMNTOOLS=C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\
    windir=C:\WINDOWS

    -----

    参考までにSETコマンド確認よりパス設定および環境変数を記載いたします。

    コメントありがとうございます。

     

    2006年6月6日 8:49
  • コマンドラインコンパイラでやっているのでしょうか?

    環境変数の参照はIDEからは行わなかったように思います

    VC6/VC.NET2003どちらも同じ症状ですか?

    2006年6月6日 13:59
  • コメントありがとうございます。

    そうでしたか。実際は.NET2003上でビルドしております。よって先に記載した環境変数は関係ありませんね。

    もうしわけありませんでした。

     

    ちなみに、VC6では試しておりません。後ほどやってみます。

    ありがとうございました。

    2006年6月7日 7:50