2014-03-28 2 views
0

http://msdn.microsoft.com/en-us/library/windows/desktop/ee417001%28v=vs.85%29.aspx에서 XInput 자습서를 살펴 보려고합니다. 그러나이 예제의 코드는 다른 오류 중에서도 "No Target Architecture"라고 계속해서 말하기 때문에 실행되지 않습니다. 나는 인터넷 전체를 훑어 보았지만 여전히 내 아키텍처를 정의하는 방법을 모릅니다. 지금 당장하고 싶은 것은 컨트롤러가 연결되었는지 여부를 프로그램에 알려주는 것입니다.Xbox 360 컨트롤러 API가 연결되지 않음

#include <Xinput.h> 
#include <Windows.h> 

void main(){ 
    DWORD dwResult; 

    // Retrieve the state of the controller 
    for (DWORD i = 0; i < XUSER_MAX_COUNT; i++) 
    { 
     XINPUT_STATE state; 
     ZeroMemory(&state, sizeof(XINPUT_STATE)); 

     // Simply get the state of the controller from XInput. 
     dwResult = XInputGetState(i, &state); 

     if (dwResult == ERROR_SUCCESS){ 
      // Controller is connected 
     } 
     else 
     { 
      // Controller is not connected 
     } 
    } 
} 

나는 윈도우 7 프로페셔널 64 비트를 실행하고 여기 내 오류 (프로젝트 경로가 공간을 제거)하는 비주얼 스튜디오 프로페셔널 2013을 사용하고 있습니다 : 여기 코드는 내가 지금까지 가지고있다

1 error C1189: #error : "No Target Architecture" c:\program files (x86)\windows kits\8.1\include\um\winnt.h 145 1 
2 IntelliSense: #error directive: "No Target Architecture" c:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h 145 2 
3 IntelliSense: identifier "PCONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h 16918 11 
4 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h 17529 11 
5 IntelliSense: identifier "SLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h 17537 16 
6 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h 17544 13 
7 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h 17551 13 
8 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h 17559 13 
9 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h 17569 13 
10 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h 17576 10 
11 IntelliSense: identifier "PCONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\minwinbase.h 358 9 
12 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\interlockedapi.h 51 11 
13 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\interlockedapi.h 59 13 
14 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\interlockedapi.h 67 13 
15 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\interlockedapi.h 81 13 
16 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\interlockedapi.h 94 13 
17 IntelliSense: identifier "PSLIST_HEADER" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\interlockedapi.h 102 10 
18 IntelliSense: identifier "CONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\processthreadsapi.h 762 16 
19 IntelliSense: identifier "PCONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\WinBase.h 1279 14 
20 IntelliSense: identifier "PCONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\WinBase.h 8619 13 
21 IntelliSense: identifier "PCONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\WinBase.h 8621 10 
22 IntelliSense: identifier "PCONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\WinBase.h 8637 11 
23 IntelliSense: identifier "PCONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\WinBase.h 8660 10 
24 IntelliSense: identifier "PCONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\WinBase.h 8669 10 
25 IntelliSense: identifier "PCONTEXT" is undefined c:\Program Files (x86)\Windows Kits\8.1\Include\um\WinBase.h 8685 13 

또한 첫 번째 오류 코드도 포함 시켰습니다. 145 번 줄은 "No Target Architecture"라는 줄입니다. "#error"아래에 빨간 선이 있습니다. 여기에 있습니다 :

#if defined(_AMD64_) || defined(_X86_) 
#define PROBE_ALIGNMENT(_s) TYPE_ALIGNMENT(DWORD) 
#elif defined(_IA64_) || defined(_ARM_) 
#define PROBE_ALIGNMENT(_s) (TYPE_ALIGNMENT(_s) > TYPE_ALIGNMENT(DWORD) ? \ 
           TYPE_ALIGNMENT(_s) : TYPE_ALIGNMENT(DWORD)) 
#elif !defined(RC_INVOKED) 
#error "No Target Architecture" 
#endif 

미리 도움을 주셔서 감사합니다. 나 자신과 몇 명의 다른 사람들이 이것에 문제가있어, 어떤 도움을 주시면 감사하겠습니다.

답변

2

올바르게 이해한다면 프로그램을 실행할 플랫폼의 아키텍처를 정의해야합니다. 포함하기 전에 예를 들어 #define _AMD64_을 입력하십시오.

도움이되지 않으면 어쩌면 컴파일러 종속성에 라이브러리를 추가해야 할 수도 있습니다. 내 문제가 해결되었습니다.

#include<windows.h> 앞에 #include<windows.h>을 넣는 것도 도움이 될 수 있습니다.

+0

감사합니다. – t3dodson

관련 문제