Building with MSVC

Building with MSVC

Contents

  [hide]
  • 1 Building the kernel with MSVC 9.0 (codename Orcas)
    • 1.1 Setting up the environment
    • 1.2 Making / compiling the project
  • 2 Unsolved problems

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

你可能感兴趣的:(Building with MSVC)