views:

164

answers:

2

I met a lot of problems when I'm trying to compile with VS2008 on Vista. Because I'm new to VS2008 and new to programming in Windows, I'm totally lost when errors happen.

My problem is as following:

The vs2008 has anyway been installed and I tried to build a open source app and the compilation stopped due to errors. In the output window I see:

1>fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version '20070207'

Totally mess for me!!!

+1  A: 

Found a thread on this error: http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/9abfefe0-56bd-4a82-ae14-b08f262972bd

Sounds like you need to install VS2008 Service Pack 1. You should probably also make sure you're up to date with the latest .NET releases.

gregmac
A: 

P1 and P2 refer to the "passes" made by the compiler over your code. Microsoft's C++ compiler is a two-pass compiler. The first pass generates data (in some kind of intermediate form) that's given to the second pass for actual conversion to machine code.

These are implemented in c1.dll and c2.dll.

The error is essentially complaining that you've got mismatched versions. Try a repair install, or install VS2008 Service Pack 1.

Roger Lipscombe