Building with MSVC

From ReactOS Wiki
Revision as of 16:06, 18 November 2009 by Lone Rifle (talk | contribs)
Jump to: navigation, search

Building the kernel with MSVC 9.0 (codename Orcas)

Setting up the environment

1. Install MSVC and WDK

2. Tools -> Options -> Projects and Solutions -> VC++ Directories, Executable files, add path to X:\RosBE\4.1.3\bin (provided you have as.exe file from RosBE in that directory).

3. In the same dialog as above, set paths to WDK includes (F:\WinDDK\6000\inc\api, F:\WinDDK\6000\inc\crt, F:\WinDDK\6000\inc\ddk)

4. In the same dialog as above, set paths to WDK libraries for linking (F:\WinDDK\6000\lib\wnet\i386 and [if it's necessary] F:\WinDDK\6000\lib\crt\i386)

Making / compiling the project

1. "make msvc9" on a tree, this will result in a project files being created automatically, and a big ReactOS_auto.sln solution file with ALL projects there. Beware, it's huge!

2. Open up the solution in the MSVC, change Configuration to "Release" or "Debug" (but not the one with "ReactOS Headers").

3. Patch your WDK headers with a special diff

4. OBJECT_INFORMATION_CLASS is masked by a define, move it out of it (obtypes.h)

Unsolved problems

1. zw.S for ntoskrnl is being generated in obj-i386/ntoskrnl/ex directory, but msvc project looks up in source tree ntoskrnl/ex dir. Temporary solved by either copying the file, or re-adding the file from the correct place.

2. Autogenerated obj-i386/include/reactos/buildno.h file is needed for compilation. Hacklution: copy it to include/reactos