2016-11-07 1 views
-3

하나의 함수로 간단한 라이브러리를 만들려고 했으므로 읽는 법을 읽었으나 작동하지 않으며 쉬운 라이브러리에 대한 설명을 찾을 수 없습니다. 어떻게 써야합니까?라이브러리에 대한 정의되지 않은 참조 오류

main.c를

#include <stdio.h> 
#include "hello.h" 

int main() 
{ 
    hello(); 
    return 0; 
} 

에서는 hello.c

#include <stdio.h> 
#include "hello.h" 

void hello(void) 
{ 
    printf("Hello user 4"); 
} 

hello.h 당신의 c 소스 코드 파일은 모두 하나 개의 프로젝트의 일부로서 함께 컴파일해야

void hello(void); 
+0

개발 환경이란 무엇입니까? –

+0

링크 할 파일이 두 개 이상 있다고 링커에 알 렸습니까? –

+0

이것은'C++'또는'c'입니까? 나는'C++ '라는 태그가 붙지 만 코드는'c'라는 뜻입니다. – drescherjm

답변

1

. 'hello.c'를 만들 때 (아마도 File → New → Empty File을 선택하면됩니다) CodeBlocks는 활성화 된 프로젝트에 파일을 추가하라는 메시지를 표시해야합니다.이 파일에는 확인을 위해 "Yes"버튼을 클릭해야합니다. 그런 다음 "파일 저장"대화 상자가 나타나야하며 파일을 평소와 같이 저장하고 코드를 편집 및 추가 한 다음 평소대로 프로젝트를 컴파일해야합니다.

그러나, 당신은 이미 hello.c 파일을 만들었습니다, 그래서 당신은 단지 프로젝트에 기존 hello.c 파일을 추가 CodeBlocks 말할 필요 : → hello.c을 선택 → 파일을 추가

마우스 오른쪽 단추로 클릭하고 프로젝트 이름 확인을 클릭하십시오.

프로젝트를 다시 컴파일하면 컴파일러는 관련 .c 소스 파일을 연결해야합니다.

또는 main.c의 헤더 목록에 #include "hello.c"을 추가하여 동일한 결과를 얻을 수 있습니다. 그러나 이것은 우리가 컴파일러에 연결 과정을 남겨 두어야하므로 권장하지 않습니다.