2014-10-28 1 views
0

그래서 화면 클리어 기능을위한 코드를 작성했습니다. 내가 발견 한 모든이 작업을 수행 저주 라이브러리 함수를 사용하는 말했지만, 다음과 같이 내가 주어진 오류가 있었다 initscr()을 사용했을 때 나는 문제로 실행 :아키텍처 initcscr에 대한 정의되지 않은 기호

Undefined symbols for architecture x86_64: 
    "_initscr", referenced from: 
     _main in TheGame...I think.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

를 지금까지 내가 마지막 두 줄을 말할 수있는 다른 오류에 대한 참조이므로 누군가가 그것이 무엇인지를 알면 위대한 것입니다. 오류를 던지고 현재 코드는 다음과 같습니다

#include <iostream> 
#include <curses.h> 
#include <ctime> 

using namespace std; 

int main(void){ 
    //Initializations 
    initscr(); 
    srand(static_cast<int>(time(0))); 

    menu(); 

    return 0; 
} 
내가 std 네임 스페이스를 사용하는 것이 나쁜 관행 것을 알고 있지만, 내 책이 할 얘기 무엇 메뉴가 다른 기능에 확산 while 루프를 참조

curses.hinitscr() 전에 완벽하게 작동 한 사용자 입력에 의해 괄호 안에 void과 1에서 10 사이의 모든 숫자를 넣으려고했습니다. 무효는 숫자 모두가 권장 *initscr(); 그냥 일반 initscr()

모든과 같은 오류가 발생하고 모든 도움은 감사 사용 No matching function for call to 'initscr'

을 던졌다 동안 구문 분석 문제 (Expected '(' for function-style cast or type construction)를 던졌습니다! g++ -lncurses <source code>

프로그램이 아마 지금 작동합니다

+0

나는'namespace std;를 사용하는 것이 여기에서 에러의 원인이라고 생각하지 않습니다. ncurses 라이브러리가 c 컴파일러로 빌드 된 것 같고'#include '을 감싸는'extern "C"{} "가 없습니다. –

+0

이 문제를 해결할 방법이 있습니까? 아니면 완전히 다른 방법으로 'clrscr'을 찾으려고해야합니까? – HadesHerald

+0

[이 Q/A]를 이미 확인 했습니까 (http://stackoverflow.com/questions/12573816/what-is-an-undef-reference-unresolved-external-symbol-error-and-how-do-i- 고치다). 네가 잘못된 나무를 짖고있는 것처럼 들린다. –

답변

0

당신은 컴파일하고 ncurses를에 프로그램을 연결해야합니다.

관련 문제