2017-02-02 11 views
0

좋아, 그래서 나는 완전히 바보 같이 느껴지지만 인터넷에서 찾은 코드를 실행하려고합니다. 실제 코드는이 문제가 아닙니다 :Visual Studio에서 라이브러리 가져 오기 2015

Visual Studio 2015를 사용하여 C++ 프로그램을 만들려고합니다.이 코드는 "FindWindow (some parameters)"함수를 가지고 있습니다. 상단에서 windows.h를 가져옵니다. 그러나 Visual Studio는 식별자 "FindWindow"가 정의되지 않았 음을 알려줍니다. 그래서 나는 그것을 찾아 : https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx

요구 사항 : Winuser.h을 (있는 Windows.h 포함) 도서관

: User32.lib

이 DLL : User32.dll을

그래서 먼저 내가 시도 winuser.h도 가져오고 있었다. (필자가해야 할 말처럼 보이지는 않았지만, 그럴만 한 가치가 있었다). 좋지 않다. 그래서, 나는이 User32.dll을 조사합니다. 나는 당신이 .dll을 추가 할 수 없다는 말을 듣고 .lib를 추가한다. 그래서 나는 그것에주의를 돌린다. 나는 이걸로 무엇을해야할지 모르지만, 내가 발견 한 것은 "이것에 대해 걱정할 필요가 없다. VS는 그것을 당신과 연결시킬 것이다"또는 "프로젝트 속성을 통해 의존성에 추가해야한다. > 링커 -> blah blah) "또는"#pragma comment (lib, "User32") "를 사용하십시오. 지시대로 지시대로 노력했지만 작동하지 않았습니다. 내 생각 엔 종속성에 올바르게 추가하지 않았다는 것입니다.

내 질문에 내가 뭘 잘못하고 있습니다. 어떻게 FindWindow를 인식하도록 Visual Studio를 설치할 수 있습니까? 도움이된다면

는, 여기에 코드가있는 작업은 다음과 같습니다를 FindWindow

답변

0

"정의되지 않은"

#include <iostream> 
#include <windows.h> 

using namespace std; 

int main(int argc, char* argv[]) { 

    HWND p = FindWindow("ProgMan", NULL); 
    return 0; 
} 

그리고 "를 FindWindow는"마우스를 올려 놓으면, 그 아래 붉은 구불 구불 한 선이는 "식별자 오류"라고 응용 프로그램에 대한 최소 Windows 버전을 지정해야합니다. 포함하기 전에 다음 줄을 추가하십시오. windows.h

#define _WIN32_WINNT 0x0500 
#define WINVER 0x0500 
+0

이것은이입니까? 또는 종속성에 추가하거나 pragma 주석을 추가하는 것 외에 무엇인가? 나는 잠재적으로 문제를 일으키는 주변에 여분의 불필요한 물건을 놓고 싶지 않았기 때문에 그것들을 취소했습니다. 그 라인을 추가하는 것만으로는 도움이되지 않았습니다. – awenonian

+0

그는 유니 코드 또는 ANSI에 대한 정의가 필요하지 않습니까? FindWindow는 함수로 존재하지 않습니다. 함수는 findWindowA 또는 FindWindowW이고 FindWindow는 유니 코드 설정을 기반으로하는 매크로 중 하나를 가리 키도록 정의 된 매크로입니다. –

+0

실제로 나는 그것에 대해 잘못되었을 수 있습니다. UNICODE 정의가 존재하지 않으면 A ....로 끝나는 함수를 기본값으로 사용해야합니다. –