Difference between revisions of "Building with MSVC"

From ReactOS Wiki
Jump to: navigation, search
Line 29: Line 29:

Revision as of 16:06, 18 November 2009

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