source

"collect2: error: ld returned 1 exit status"는 무슨 뜻입니까?

factcode 2022. 8. 17. 23:43
반응형

"collect2: error: ld returned 1 exit status"는 무슨 뜻입니까?

에러를 알 수 있습니다.collect2: error: ld returned 1 exit status아주 자주요.예를 들어, 다음과 같은 코드 조각을 실행하고 있었습니다.

void main() {
  char i;

  printf("ENTER i");
  scanf("%c",&i);

  clrscr();

  switch(i) {
    default:
      printf("\nHi..\n");
      break;
    case 1:
      printf("\n\na");
      break;
    case 2:
      printf("\nb\n");
      break;
    case 3:
      printf("\nc");
      break;
  }
}

그리고 나는 이것을 얻었다:

main.c:(.text+0x33): undefined reference to `clrscr'                       
collect2: error: ld returned 1 exit status 

그것은 무엇을 뜻하나요?

ld returned 1 exit statuserror는 이전 오류의 결과입니다.이 예에서는 이전 오류가 있습니다.undefined reference to 'clrscr'- 그리고 이게 진짜야.종료 상태 오류는 빌드 프로세스의 링크 단계에서 오류가 발생했음을 나타냅니다.보통.exit status 0성공을 의미하고exit status> 0 은 에러를 나타냅니다.

프로그램을 빌드할 때 여러 도구를 별도의 단계로 실행하여 최종 실행 파일을 생성할 수 있습니다.이러한 툴의 1개는, 최초로 발견된 에러를 보고합니다( ).clrscr참조 누락)을 지정한 후 종료 상태를 반환합니다.종료 상태가 0보다 크므로 오류를 의미하고 보고됩니다.

대부분의 경우 도구는 발생한 오류 수를 종료 상태로 반환합니다.따라서 ld 툴이 2개의 오류를 검출했을 경우 종료 상태는 2가 됩니다.

당신의 상황에서는 누락된 기호를 참조할 수 있습니다.그러나 경우에 따라서는 ld가 오류 정보를 제공하지 않을 수 있습니다.

ld에서 제공하는 정보를 확장하려면 $(LDFLAGS)에 다음 파라미터를 추가합니다.

-Wl,-V

clrscr표준 C 기능이 아닙니다.인터넷에 따르면 옛날 볼랜드 C에 있던 물건이라고 한다.
clrscr()은 C++의 함수입니까?

태스크 매니저를 실행하여 프로그램이 아직 실행 중인지 확인합니다.

실행 중인 경우 중지하고 다시 실행합니다.[Error] ld가 1개의 종료 상태를 반환하지 않음

기본 HELLO WORLD 프로그램에서도 다음 오류가 발생하였습니다.

cout << "Hello World";

이 문제는 쉽게 해결할 수 있었습니다: 이전에 실행하던 콘솔 을 닫는 것을 잊었습니다.최소화하고 잊어버렸습니다.그래서 제가 미래의 프로그램을 실행하려고 할 때 이 오류가 계속 발생하는 거예요.그냥 닫아주세요:)

도움이 되었으면 좋겠네요. 하지만 다른 문제가 있을 수도 있어요.

내용:#include<stdlib.h>

및 사용System("cls")대신clrscr()

Ctrl+S를 누른 다음 실행 부분을 수행합니다.

언급URL : https://stackoverflow.com/questions/27272525/what-does-collect2-error-ld-returned-1-exit-status-mean

반응형