Building with MSVC
Contents[hide] |
Building the kernel with MSVC 9.0 (codename Orcas)
Setting up the environment
- Install MSVC and WDK
- 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).
- 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)
- 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
- 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!
- Open up the solution in the MSVC, change Configuration to "Release" or "Debug" (but not the one with "ReactOS Headers").
- Patch your WDK headers with a special diff
- OBJECT_INFORMATION_CLASS is masked by a define, move it out of it (obtypes.h)
Unsolved problems
- 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.
- Autogenerated obj-i386/include/reactos/buildno.h file is needed for compilation. Hacklution: copy it to include/reactos