2011-12-20 7 views
0

Windows XP Professional SP3에 Windows SDK 7.1을 설치했습니다. 이제 설치가 정상적으로 진행되고 있는지, 그리고 이미 문제가 있는지 확인하고 있습니다. cl.exe는 Windows SDK 7.1 명령 프롬프트에서 간단한 hello world C++ 코드를 컴파일 할 수 없습니다.Windows SDK 7.1 명령 프롬프트 LNK1104

Setting SDK environment relative to C:\Program Files\Microsoft SDKs\Windows\v7.1\. 
Targeting Windows XP x86 Debug 


C:\Program Files\Microsoft SDKs\Windows\v7.1>cd /d "D:\My Documents\Sources" 

D:\My Documents\Sources>cl /EHsc /FeD:\Target\hello hello.cpp 
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86 
Copyright (C) Microsoft Corporation. All rights reserved. 

hello.cpp 
Microsoft (R) Incremental Linker Version 10.00.30319.01 
Copyright (C) Microsoft Corporation. All rights reserved. 

LINK : fatal error LNK1104: cannot open file 'C:\Documents' 

나는 D에 hello.cpp를 이동하려고 : \와 같은 결과로 결국 다음 명령 프롬프트 출력의 스냅 샷입니다. 반면에 CSC.exe는 동일한 명령 프롬프트에서 hello world C# 코드를 문제없이 컴파일했습니다. 지금 어떻게해야합니까?

Visual Studio가 설치되어 있지 않습니다. Windows SDK를 설치하여 Qt Creator에서 VS2010 용 Qt Framework 4.8.0을 사용할 수 있고 SharpDevelop에서 C#을 조금 배울 수 있습니다.

답변

0

어떤 사람들은 등 예컨대 : Set ALLUSERSPROFILE="C:\Documents and Settings\All Users", Set USERPROFILE="C:\Documents and Settings\Ant Luc" 따옴표로 C:\Documents and Settings\을 포함하는 모든 환경 변수 값을 래핑하는 저를 adviced합니다. %TEMP%%TMP%을 제외한 수정을 수행 할 정상적인 방법은 없습니다. 시스템 속성> 고급> 환경 변수을 통해 편집 할 수 없기 때문에 수정할 수 없습니다. 그래서 C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd을 편집하고 바로 @ECHO OFF 아래에 다음 줄을 추가 :

SET ALLUSERSPROFILE="C:\Documents and Settings\All Users" 
SET USERPROFILE="C:\Documents and Settings\Ant Luc" 
SET HOMEPATH="C:\Documents and Settings\Ant Luc" 
SET APPDATA="%USERPROFILE%\Application Data" 
SET TEMP="%USERPROFILE%\Local Settings\Temp" 
SET TMP="%USERPROFILE%\Local Settings\Temp" 

을하지만 CL.EXE와 안녕하세요 세계 코드를 컴파일 할 때 나는 그 오류 C1083을 얻었다. 필사적으로 나는 C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd을 다시 편집하여 %TMP%의 값을 D : \ VSTEMP로 변경하고 D : \에 VSTEMP라는 디렉토리를 만들고 소스 코드를 다시 컴파일하려고 시도했으며 마지막으로 성공적으로 컴파일되었으므로 안도의 한숨을 내 쉬었습니다.

Visual Studio 2010 Express를 설치하고 Visual Studio Command Prompt를 열고 동일한 Hello World 코드를 컴파일하려고했는데 동일한 해결 방법으로 해결 된 동일한 일련의 문제에 직면했습니다. 결론 : 컴파일러 (또는 링커)는 %TMP%의 공백을 제대로 처리 할 수 ​​없습니다. 하나의 공백없이 디렉토리를 할당하십시오.

나는 아직도 내 설정에 문제가 있는지 알지 못하지만,이 모든 번거 로움은 어리석은 것처럼 보입니다. FWIW, 이것은 hello world 코드를 성공적으로 컴파일하기 위해 훌쩍 뛰어 내리는 첫 번째 툴체인입니다.