Build SSCLI2.0 (rotor) via Vista and VS2008

 

Today I want to build SSCLI2.0 on my machine; I know it is a hard work that might I can’t build successfully at last, but I did it after a few hours.

Here is the details step:

1.       download sscli2.0 package

http://www.microsoft.com/downloads/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en

 

2.       download activeperl package

http://downloads.activestate.com/ActivePerl/Windows/5.10/ActivePerl-5.10.0.1004-MSWin32-x86-287188.msi

 

3.       install the activeperl, then add the  C:\Perl\site\bin;C:\Perl\bin; to the PATH variable if they are not included in the PATH variable.

 

4.       Unpack the sscli2.0 package.

 

 

5.       Change file .\env.core.pl  add:

$platform_os_version=”6.0”;

before line #570

if(!$platform_os_version) {

CorFail(“Could not get platform OS version”);

}

 

6.       Change file .\win.env.bat line #37

%VS80COMNTOOLS% è%VS90COMNTOOLS% 

7.       Change file  .\clr\src\inc\warningcontrol.h line#79

Add on line:

#pragma warning(disable: 4985)              //attributes not present on previous declaration

This line is to avoid the warning 4985 to caused error.

8.       Open .\clr\src\vm\threads.cpp, save it as utf8 format.

9.       Open .\clr\src\vm\win32threadpool.cpp, save it as utf8 format.

10.   Change file .\env\bin\devdiv.def line #334 and #338:

SUBSYSTEM_WINVER=, 4.00è 5.00

SUBSYSTEM_CONVER=, 4.00è 5.00

 

11.   Create a folder  “PlatformSDK” in your MSVCDir path, copy include and lib two directories and files from your PlatformSDK or Windows SDK.

On my machine, MSVCDir is C:\Program Files\Microsoft Visual Studio 9.0\VC, I copy all files in my PlatformSDK include and lib: C:\Program Files\Microsoft Platform SDK, I install Microsoft Platform SDK for Windows Server 2003 SP1.

I don’t test and copy the files in the path: C:\Program Files\Microsoft SDKs\Windows\v6.0A, you can test it.

12.   change file .\pal\win32\make.cmd line #43

if not “%ROTOR_TOOLSET_VERSION%” ==”80” è ”90”

13.   change file .\pal\win32\rotor_pal.src line line#63 and line#64

add two lines:

#elif _MSV_VER == 1500

               #define _MSVCRT   MSVCR90D

Line #75 and #76,same:

#elif _MSV_VER == 1500

               #define _MSVCRT   MSVCR90

14.   Run “cmd” as administer;

then type cd your rotor root directory

run env.bat

run buildall.cmd

15.   When you see “BUILD Done” at last row, Congratulations!

I wrote a small test applicaition named test.cs:

ContractedBlock.gif ExpandedBlockStart.gif Code
 1 using System;
 2 
 3 class Test
 4 {
 5     static void Main()
 6     {
 7         for(int i=1;i<10;i++)
 8         {
 9             for(int j=1;j<=i;j++)
10             {
11                 Console.Write("{0}*{1}={2} ",i,j,i*j);
12                 }
13                 Console.WriteLine();
14             }
15         }
16     }
17 }

 

Type csc test.cs;

(It will print:

Microsoft (R) Shared Source CLI C# Compiler version 2.0.0001 for Microsoft (R) Shared Source CLI version 2.0.0

Copyright (C) Microsoft Corporation. All rights reserved.

)

Type clix test.exe.

It will print:

1*1=1

2*1=2 2*2=4

3*1=3 3*2=6 3*3=9

4*1=4 4*2=8 4*3=12 4*4=16

5*1=5 5*2=10 5*3=15 5*4=20 5*5=25

6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36

7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49

8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64

9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

 

 

Enjoy!

转载于:https://www.cnblogs.com/diggingdeeply/archive/2009/05/26/Build-SSCLI20-rotor-via-Vista-and-VS2008.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
http://blog.csdn.net/atfield/article/details/1471465 Introduction Shared Source CLI 2.0 (开发代号Rotor) 是微软.NET Framework 2.0的Shared Source实现版本。Shared Source是微软推出的源代码共享计划,可以在一定限制的情况下获得/使用源代码,详情可以参考Microsoft Shared Source Initiative主页:http://www.microsoft.com/resources/sharedsource/。Rotor的代码可以在非商业行为的前提下可以自由修改和发布,只需保留License声明即可。Rotor包含了下面的内容: 1. CLI的运行时(CLR)的符合ECMA标准的实现 2. C# & Jscript编译器 3. .NET Framework中的部分工具,如ilasm, ildasm, cordbg, gacutil, sn等 4. Build工具,如Build, Binplace, NMake等 5. PAL (Platform Adaptation Layer),支持其他平台 6. 自动化回归测试 7. Samples 由此可见,Rotor是研究.NET Framework实现的最佳材料。 Rotor的全部源代码可以在微软的MSDN网站上下载:http://msdn.microsoft.com/net/sscli/ 下载后解压缩,可以看到如下的目录结构: 目录 内容 Binaries.x86*.rotor Build出来的可执行文件和Symbols。这个目录在Build之后才会出现 clr CLI和BCL(Base Class Library)的实现 csharp C#编译器的实现就在这里了 Docs 文档 Env Build时所需的一些文件 Fx 类库的实现 Jscript Jscript编译器的实现 Pal Platform Adaptation Layer的实现。PAL是Rotor对Windows和Unix的一些基本API的封装 Palrt Platform Adaptive Layer Runtime的实现。PAL中的和操作系统平台无关可重用的部分 prebuilt 存放着build所需的一些事先用工具生成好的文件 Samples Samples Tests Regression Test Suite Tools Build工具,包括binplace, build, cppmunge等 Vscommon 公共头文件,主要是微软内部使用的一些产品有关的公用的宏定义 总共大概有150MB左右。 本人先发在CSDN上做个备份。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值