문제

C ++ 응용 프로그램을 구축하고 있으며 Windows에서 PDCures를 사용해야합니다. MS VS 2005에서 VC ++로 컴파일하고 있으며 링크 오류가 발생합니다.

 error LNK2019: unresolved external
 symbol __imp__GetKeyState@4 referenced
 in function __get_key_count

동일한 오류 코드와 다른 기호가있는 11 가지 오류가 있습니다. 누락 된 기호는 __imp__mapvirtualkeya@8, __imp__findwindowa@8, __imp__wsprintfa, __imp__sendmessagea@16, __imp__getWindowthreadProcessid@8, __imp__messagebeep@4입니다. VC ++는 이러한 기능의 적절한 ASCII 구현을 찾을 수없는 것과 거의 같습니다. 또한 PDCurses와 함께 제공되는 데모 프로그램은 C 프로그램이지만 잘 편집되었습니다.

C ++ 프로그램에는 사용 헤더를 포함합니다.

extern "C" 
{ 
    #include <curses.h> 
}

나는 일부 C 표준 라이브러리와 연결하는 것을 잊고 있다고 확신하지만 어느 것이 확실하지 않습니다.

도움이 되었습니까?

해결책

getKeyState ()는 "user32.dll"의 Windows 함수이므로 "user32.lib"에 연결되어 있는지 확인해야합니다. 또한 링커 라이브러리 목록에서 PDCurses 라이브러리를 따라야하는지 확인해야 할 수도 있습니다.

다른 팁

MS VC ++를 사용하여 컴퓨터에 pdcures를 만들었습니까? 그렇다면 무슨 일이 일어나고 있는지 잘 모르겠습니다. 그렇지 않다면, 사용하는 것이 MS VC ++와 호환되지 않을 가능성이 높습니다. 다른 C ++ 컴파일러의 혼합 코드가 결정됩니다. 또한 '몇 가지 다른 오류'가 의미하는 바에 따라 다릅니다. 그것이 '수백 가지 오류'에 대한 괴상한 과소 평가라면, 그것은 문제 일 것입니다. 비슷한 오류 만 있으면 문제가되지 않을 가능성이 적습니다.

좋아, 나는 이것을 알아 냈다;) 나는 스콘으로 만들고있다. 나는 user32.lib가 변수를 포함하고 있었다. USER32_LIB, user32.lib에 정의되는 창을 제외하고는 빈 문자열로 기본값을 기본으로합니다. Windows 섹션에는 오타가 있었는데 USER32_LIb 보다는 USER32_LIB.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top