문제

키 프레스를 캡처하기 위해 Getch ()를 얻으려고합니다.

    #include <curses.h>
    ...
    ...
    WINDOW *w;
    char f;

   w = initscr();
   timeout(3000);
   f = getch();
   endwin();

다음 오류를 제공합니다.

undefined reference to `wgetch'
undefined reference to `stdscr'
도움이 되었습니까?

해결책

링크 오류입니다. Curses 라이브러리에 올바르게 연결하고 있습니까?

C에서 라이브러리 사용과 관련된 두 단계가 있습니다.

  1. #include 소스 파일의 관련 헤더 파일. 이것은 귀하의 코드가 라이브러리 기능의 서명이 무엇인지 알고 있습니다. 그래서 당신은 이것을 올바르게하고 있습니다.
  2. 코드를 컴파일 할 때는 링커에 관련 라이브러리 링크를 알려 주므로 해당 함수의 정의를 찾을 수 있습니다. 이것이 당신이하지 않는 일입니다. GCC를 사용하고 있다고 가정 한 다음 추가합니다 -lncurses 컴파일 라인에이를 수행해야합니다. 여기에 있습니다 연결에 대한 설명.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top