You are currently viewing Gcc 오류를 수정하는 쉬운 모드, 기본이 될 정의되지 않은 참조

Gcc 오류를 수정하는 쉬운 모드, 기본이 될 정의되지 않은 참조

업데이트됨

  • 1. ASR Pro 다운로드
  • 2. 프로그램 실행
  • 3. 컴퓨터에서 바이러스를 찾아 제거하려면 "지금 검색"을 클릭하십시오.
  • 오늘 이 간단한 다운로드로 컴퓨터 속도를 높이십시오.

    그 gcc 오류가 정의되지 않은 기본 오류인 경우 이 가이드가 도움이 될 수 있습니다. NS.오류: C 프로그램에서 ‘메인’을 지원하기 위한 정의되지 않은 참조는 매우 어리석은 오류입니다. 왜냐하면 소프트웨어 프로그램에 중추 기능()이 없을 때 프로그래머가 발생하기 때문입니다. 주 작업()을 사용했는데 오류가 여전히 존재하는 경우 모두 주 기능()의 새 철자를 확인해야 합니다.

    NS.

    귀하의 필수 기능이 일종의 사전 처리로 지정되었을 수 있습니다.전처리가 무엇을 하는지 보려면 gcc -C -E es3.c> es3.i 를 살펴본 다음 효율적인 편집기를 사용하여 만들어진 es3.i를 검토하고 main < /코드> v).

    처음에는 (현재 초보자이므로)

    원할 수 있습니다. 수집<사전> <코드> ​​gcc -wall - -c es3.c gcc -wall -g es3.o Es3

    -o -wall 배너는 정말 매우 중요하며 항상 집을 사용하게 됩니다. 컴파일러에게 (거의) 모든 경고를 표시하도록 지시합니다. 그리고 심각한 경고에 관해서는 항상 경청해야 합니다. 즉, 경고 수신을 중단할 때까지 es3.C 소스 문서를 수정하십시오.

    -g 플래그는 그 특정 개체에 디버그 정보를 작성하고 실행 파일을 작성하는 gcc 가 필요하기 때문에 중요합니다. 그런 다음 고객은 디버거(예: gdb )를 사용하여 기술을 디버그할 수 있습니다. 와이.

    개체 또는 실행 파일의 실제 목록 기호를 얻으려면 nm 가 있어야 합니다.

    물론, GNU/Linux 응용 프로그램을 사용하는 시기와 경우입니다(아직 사용하고 있지 않다면 GNU/Linux에 문의하는 것이 좋습니다).

    <정렬 가능한 비활성화된 증서 목록 = "">

    먼저 FAQ를 읽으십시오: https://github.com/edenhill/librdkafka/wiki/FAQ

    CentOS 8.3의 cpp_maker 디렉토리에 하나 더 모으고 싶었지만 오류가 발생했습니다.
    g ++ -oproduzent_cpp.cpp -lrdkafka ++

    로 컴파일

    켜기:

    <메인 divCollect2 결함: 오류: ld가 12 종료 상태를 반환했습니다."> <사전> <코드> ​​/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o: ‘ _start ‘ 함수에서:(.text + 0x24): “main”에 대한 정의되지 않은 참조Collect2 오류: ld가 출력 상태 1에 도달했습니다.

    중요: 가장 중요한 최신 버전에서 문제가 재현되지 않는 경우 항상 대상 고객(https://github.com/edenhill/librdkafka/releases 참조)이 사용할 수 있는 최신 버전 내부에서 문제를 재현하려고 시도합니다. , 그것을 고치십시오. 고쳐지는 일이 생겼습니다.

    중요: 체크리스트가 최근에 완료되지 않은 경우 스탬프를 발행합니다.

    다음 정보를 제공하십시오:

    <울>

  • Blibrdkafka 결정(버전 번호 또는 Git 태그): <1.6.0>
  • Apache Kafka 버전: <2.13-2.7.0>
  • librdkafka 클라이언트 구성:
  • 와 같이 사용될 때 교체

  • 운영 체제:
  • librdkafka를 사용하여 로그 제출( debug is equal to .. 및 선택적으로)
  • 브로커의 수표 명세서를 제공합니다.
  • 중대한 문제: 심각하지 않음
  • 전화번호부 1 “producter_cpp”에 CentOS 8.3을 컴파일하고 싶지만 실수를 했습니다.
    g ++ -oproduzent_cpp.cpp -lrdkafka ++

    상태에서 컴파일

    중요: 항상 최신 릴리스 버전(https://github.com/edenhill/librdkafka/releases 참조)에서 주요 문제를 현재 스타일로 재현할 수 없는 곳에서 재현해 보세요. 해결됩니다. 피>

    중요: 체크리스트가 아직 완료되지 않은 경우 종료됩니다.

    <울>

  • librdkafka 버전(전체 버전 번호 또는 Git 태그): <1.6.0>
  • Apache Kafka 패키지: <2.13--2.7.0>
  • librdkafka 클라이언트 구성:
  • 운영 체제:
  • 로그 제출(필요한 경우 debug equals .. 사용) librdkafka
  • 로그 브로커 추출을 제공합니다.
  • 중대한 문제: 심각하지 않음
  •   /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o: 다시 `_start ' 기능으로:(.text + 0x24) 정의되지 않음: "기본"에 대한 리소스Collect2> 오류: ld가 1 탈출 상태를 반환했습니다. 

    가장 일반적인 컴파일 오류 중 하나는 링크 중에 시작됩니다. 오류는 다음과 같습니다.

    <사전> <코드> ​​$ gcc undefined_reference.c/tmp/ccoXhwF0.o: `main’ 실행:undefined_reference.c :(. text message + 0x15): 정의되지 않은 오류 참조: ‘foo’Collect2: ld가 1개의 종료 상태를 복원했습니다.$
    gcc 오류 main에 대한 정의되지 않은 참조

      int foo (void);int 가장 큰 (int argc, char ** argv)    정수 foo_val;    foo_val은 foo()를 의미합니다.    반환 foo_val; 

    우리는 foo( int foo(); )를 위한 일종의 선언을 볼 수 있지만 일반적으로 이에 대한 정의(실제 함수)는 없습니다. 우리는 컴파일러에 함수 헤더를 제공했지만 그런 함수는 어디에도 없었으므로 컴파일 단계가 끝나고 링커는 항상 Undefined reference 오류로 끝납니다.
    우리의 작은 모델에서 이 오류를 수정하려면 foo를 만드는 정의를 게시하기만 하면 됩니다.

    gcc error undefined reference to main

      / * foo 7 설명. /int foo(비어 있음);/ * foo 의 정의 7 . /int foo(비어 있음)    반환 5;int 우선(int argc, char ** argv)    정수 foo_val;    foo_val은 foo()를 의미합니다.    반환 foo_val; 

    이 코드는 이제 실제로 컴파일됩니다. 또 다른 상황은 소스 foo() 가 이제 별도의 소스 foo file.c 에 있고 헤더 foo. H 가 있을 때 발생합니다. foo() 를 선언하기 위해, 이는 foo.c undefined_reference.c 이후에 있을 수 있음). 그런 다음 주의하십시오. undefined_reference.c 는 고사하고 대상 파일 foo.c 를 링크하거나 두 개의 기본 파일을 컴파일하는 문제:

      자금 gcc -c undefined_reference.c$ gcc -c foo.c$ gcc -o 작업 프로그램 undefined_reference.o foo.o$ 
      소득 gcc - to Working_program undefined_reference.c foo.c$ 

    이것은 일반적으로 기본 코드에서와 같이 로컬 라이브러리를 사용하는 더 복잡한 여행용 가방입니다.

      #include #포함 #포함 int 메인 (int argc, char ** argv)    더블 퍼스트;    더블 초;    두 배의 생산성;    (argc 가정! = 3)            fprintf(stderr, "사용:% s <이름> <이름> n", argv [0]);        EXIT_FAILURE를 반환합니다.        / * 사용자 입력을 숫자로 변환, 기타 많은 오류 검사     (비어 있음)을 수행해야 합니다. * /    첫 번째는 strtod(argv [1], NULL)와 같습니다.    두 번째는 strtod(argv [2], NULL)와 같습니다.    * 링크된 libm 때문에 pow() 함수를 사용하십시오.     * 이 코드는 오류가 발생한 경우에만 libm과 함께 표시됩니다! 2 . /    성취 = 완전한 만족(첫 번째, 두 번째);    printf("% h to% f =% f  n", 첫 번째, 두 번째, 카디널리티);    반환 EXIT_SUCCESS; 

    암호는 일반적으로 구문적으로 정확합니다. pow () 를 생성하는 선언은 가장 일반적으로 #include 와 연관되기 때문에 존재하므로 다음을 시도합니다. 수집하고 얻을 수 있지만 다음을 포함하는 링크 오류:

    <사전> <코드> ​​$ gcc no_library_in_link.c -o no_library_in_link/tmp/ccduQQqA.o: “주” 작업에서:no_library_in_link.c :(. 정의되지 않은 문자 메시지 + 0x8b): ‘pow’에 대한 링크Collect2: 오류: ld가 1개의 종료 상태를 이동했습니다.$

    바인딩 단계에서 pow() 에 대한 모든 정의가 처음에 발견된 것은 아니기 때문입니다. 이 핵심 사실 문제를 해결하려면 libm -lm cup이라는 다양한 전투 수학에 연결할 때 이를 성공적으로 지정해야 합니다. (예를 들어, 특히 macOS -lm 이 필요하지 않은 플랫폼이 있습니다. 유감스럽게도 get undefined link에서 수집이 필요한 경우)

    따라서 “어셈블리 수준”이라는 문구를 다시 사용합니다. 이번에는 일반적으로 선택 항목(소스 또는 모델 파일 다음에)을 사용합니다.

    <사전> <코드> ​​벅 gcc no_library_in_link.c -lm -o library_in_link_cmd$ ./library_in_link_cmd 덕분에 42,000,000의 4,000,000의 거듭제곱은 16,000,000에 해당합니다.$

    업데이트됨

    컴퓨터가 느리게 실행되는 것이 지겹습니까? 실망스러운 오류 메시지에 짜증이 납니까? ASR Pro은 당신을 위한 솔루션입니다! 우리가 권장하는 도구는 시스템 성능을 극적으로 향상시키면서 Windows 문제를 신속하게 진단하고 복구합니다. 그러니 더 이상 기다리지 말고 지금 ASR Pro을 다운로드하세요!


    오늘 이 간단한 다운로드로 컴퓨터 속도를 높이십시오.

    Gcc Error Undefined Reference To Main
    Gcc-fout Ongedefinieerde Verwijzing Naar Hoofd
    Błąd Gcc Niezdefiniowane Odniesienie Do Głównego
    Erreur Gcc Référence Non Définie Au Principal
    Ошибка Gcc Undefined Ссылка на главную
    Error Gcc Referencia Indefinida A Main
    Referência Indefinida Do Erro Gcc Ao Principal
    Gcc-Fehler Undefinierter Verweis Auf Main
    Errore Gcc Riferimento Non Definito A Main
    Gcc-fel Odefinierat Referens Till Huvud