Visual Studio 2008을 설치할 때 VC++만 골라서 설치하는 경우 cl.exe가 제대로 복사가 되지 않는 문제가 있습니다. 컴파일을 하면 cl.exe를 찾을 수 없다는 PRJ0003 오류가 발생하죠. 이를 해결하는 방법은 새로 설치하거나, 제어판의 설치/삭제에서 복구를 해주는 방법이 있습니다. 내지는 Windows SDK 최신 버전을 설치하면 cl.exe가 복사됩니다.
그런데 문제는 이게 서팩이랑 엮이면 아주 골치아프게 됩니다. VS 2008 SP1을 설치하면 cl.exe와 관련 dll들이 업데이트가 됩니다. 그런데 서비스 팩이 파일이 없으면 업데이트를 안시킨다는 것이죠. 즉 무슨 말인고 하면 cl.exe는 없고, cl.dll만 있다면 cl.dll은 업데이트를 시키고, cl.exe는 업데이트가 안된다는 말입니다. 따라서 나중에 다른 경로로 cl.exe만 복사하면 버전이 맞지 않는다는 C1900 에러가 발생합니다. 더 심각한 것은 cl.exe만 구버전인 경우에도 서팩은 업데이트를 시키지 않는다는 겁니다.
하여튼 여러모로 골치아픈 문제가 발생하니 Visual Studio 2008 설치하실 때에는 그냥 기본 메뉴로 Next만 클릭해 주는 게 정신 건강에 좋답니다. 괜히 VC++만 설치하려다가 2시간 날렸네요 ㅠㅠ. 아래는 관련 정보입니다.
This bug was NOT fixed in VS2008 RTM. If you install only the VC++ compiler the setup does not copy /bin/cl.exe and several DLLs.
If you copy the required files from a working VS2008 setup, the setup will become broken when VS2008 SP1 is applied. The SP will not update the manually copied files. When you try compiling a project, you will receive this error:
fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version '20070207'
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=295538