0

我正在尝试在 Windows 8.1 x64、VS2013(包括 MFC)下构建 Rotor SSCLI 2.0。源代码位于C:\sscli20.

而不是env.bat我编写了设置环境变量的 PowerShell 脚本,并且碰巧可能看起来是正确的:

# Setting environment variables for SSCLS 2.0 and run buildall.cmd

$current = Get-Location # Current location is where Rotor src and the script are 
$vcdir = $env:VCINSTALLDIR # Location of the root of VS-2013

Push-Location # Remember current location

Set-Location env:\ # Setting environment variables 

set-item Path "C:\Perl\site\bin;C:\Perl\bin;C:\Perl64\site\bin;C:\Perl64\bin;C:\Windows\System32;C:\Windows\Microsoft.NET\Framework64\v4.0.30319\;C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools;C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;"

set-item BROWSER_INFO 1
set-item BUILD_ALT_DIR c
set-item BUILD_DEFAULT "-mwe -a -M -wx"
set-item BUILD_DEFAULT_TARGETS "-dynamic $current\target"
set-item COFFBASE_TXT_FILE "$current\env\coffbase.txt"
set-item COPYCMD "/Y"
set-item CRT_INC_PATH "$current\palrt\inc"
set-item CRT_LIB_PATH "$vcdir\VC\lib files"
set-item C_DEFINES 
set-item _BUILDTYPE checked
set-item DEBUG_CRTS 1
set-item DevEnvDir "$vcdir\Common7\IDE"
set-item FEATURE_PAL 1
set-item MSC_OPTIMIZATION "/O1"
set-item MSVCDir "$vcdir\VC\"
set-item NTDEBUG ntsd
set-item NTDEBUGTYPE vc6
set-item NTMAKEENV "$current\env\bin"
set-item ROTOR_DIR "$current"
set-item ROTOR_TOOLSET MSVC
#set-item ROTOR_TOOLSET_VERSION 80
set-item SDK_INC_PATH "$current\pal\inc"
set-item SDK_LIB_PATH "$vcdir\VC\PlatformSDK\lib"
set-item USE_PDB 1
set-item VCINSTALLDIR "$vcdir"
set-item VC_BIN_PATH "$vcdir\VC\bin"
set-item VSINSTALLDIR "$vcdir"
set-item _NTDRIVE "c:\"
set-item _NTROOT "$rotorDir\clr"
set-item _NTTREE "$current\binaries.x86.rotor"
set-item _NT_DEBUGGER_EXTENSION_PATH "$current\binaries.x86.rotor\int_tools"
set-item _NT_SYMBOL_PATH "$current\binaries.x86.rotor"
#set-item _TGTCPU i386
#set-item _TGTCPUTYPE x86
set-item _TGTOS NT32

Pop-Location # Going back to Rotor’s directory
. "$vcdir\VC\vcvarsall.bat" amd64_x86 # Set Framework* variables
. "$current\buildall.cmd" # run build
"-------------------------------------------------"
Get-Content "$current\pal\win32\buildc.log" # enjoying error messages

运行后buildall.cmd出现以下输出:

     ...
    C:\sscli20\prebuilt\idl\mscoree_i.c
    C:\sscli20\prebuilt\idl\xclrdata_i.c
           15 file(s) copied.
    C:\sscli20\prebuilt\yacc\asmparse.c
            1 file(s) copied.

    --- Building the PAL ---

    *** Error while building C:\sscli20\pal\win32
        Open C:\sscli20\pal\win32\buildc.log to see the error log.
        Open  to see any warnings. 

日志文件如下:

Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.

    if not exist C:\sscli20\binaries.x86.rotor\sdk\pal\inc mkdir C:\sscli20\binaries.x86.rotor\sdk\pal\inc
    copy C:\sscli20\pal\inc\rotor_pal.h C:\sscli20\binaries.x86.rotor\sdk\pal\inc
        1 file(s) copied.

Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.

    if not exist objc\rotor_x86 md objc\rotor_x86
cl -nologo -Ii386\ -I. -I.. -I. -I\inc\version -Ic:\\clr\not_present\OAK_INC_PATH -IC:\sscli20\pal\inc -IC:\sscli20\palrt\inc -Di386 -D_X
86_  -DSTD_CALL -DCONDITION_HANDLING=1 -DNT_UP=1  -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWINVER=0x0500 -D
_WIN32_IE=0x0400    -DWIN32_LEAN_AND_MEAN=1 -DDBG=1 -DDEVL=1 -DFPO=0    -D_DEBUG -D_DLL=1 -D_MT=1  /DPAL_IMPLEMENTATION=1 -DFX_VFT=VFT_DL
L -DFX_VER_INTERNALNAME_STR=rotor_pal.dll -DOFFICIAL_BUILD=0 -DBETA=0 -DFX_VER_PRIVATEBUILD_STR=COMPUTER -DURTBLDENV_FRIENDLY= -DFX_BRANC
H_SYNC_COUNTER_VALUE=0    /c /GS /Zp8 /Gy /W3 /WX /Gz   /Gm- /EHs-c-  /GR- /GF  -Z7 /O1 /Oy- /FRC:\sscli20\pal\win32\objc\rotor_x86\    /
WX /FI\clr\src\inc\WarningControl.h  .\exception.c
exception.c
c:\sscli20\pal\win32\exception.c : fatal error C1083: Cannot open include file: '\clr\src\inc\WarningControl.h': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\cl.EXE"' : return code '0x2'
Stop.
4

0 回答 0