source

Eclipse CDT "Symbol NULL을 확인할 수 없습니다."

ittop 2023. 9. 24. 13:09
반응형

Eclipse CDT "Symbol NULL을 확인할 수 없습니다."

했습니다를 했습니다.Eclipse CDT와 함께MinGW 모든 환경변수는 설정, 포함 등입니다.헬로 월드를 운영해봤는데 다 괜찮은 것 같아요.

는 했습니다.C에 내 이 잘 과 같은 NULL호:

Symbol 'NULL' could not be resolved

통찰력이 있습니까?감사합니다!

NULL은 일반적으로 stddef.h에 정의됩니다.이 파일은 일반적으로 stdlib.h 및 stdio.h에도 포함됩니다.

그리고 당신은 항상 이렇게 할 수 있습니다.

#ifndef NULL
#define NULL   ((void *) 0)
#endif

밥이 언급한 것처럼, 인덱스를 재구축하는 것만으로 버그를 수정합니다.

  1. 프로젝트를 바로 잡습니다.
  2. 색인 선택
  3. "재구성"을 선택합니다.

makefile은 정상적으로 실행되고 있었지만 Eclipse CDT 보기에서 당신의 것과 같은 오류가 발생했습니다.

현재 프로젝트를 종료하고 프로젝트의 올바른 위치 소스 위치를 지정하는 "기존 코드로 파일 만들기 프로젝트"를 새로 열었습니다.이후 오른쪽 클릭 프로젝트 / C++ 일반 / 경로 및 기호 / Gnu C++ / 포함 디렉터리가 비어 있지 않고 내 프로젝트의 올바른 경로를 포함하는지 확인했습니다.

그런 다음 인덱스를 재구축했습니다(우클릭/인덱스/재구축).

또한 makefile은 괜찮았지만 해결하지 못한 GUI상의 컴파일 오류를 CDT8이 아닌 이클립스 CDT7을 사용합니다.

  • 이유는:

NULL 되었습니다.stddef.h,그렇지만stddef.h.xxx/include/linux것은 아니다.xxx/include

->했지만 -> MingW'sxxx/include 수 , NULL

  • 해결책은 다음과 같습니다.

MingW 를 합니다를 합니다.include/linuxh

  • 참고인

(1) 의 xscale crosscompilerinclude/linux로:/opt/crosscompile/xscale/gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/linux

added GNU C++ include linux path

(2) 나의 글:우분투 이클립스: 'NULL' 기호를 확인할 수 없습니다.

저는 그냥 이런 오류를 수정했고 아무도 이 해결책을 찾지 못했기 때문에 게시할 것이라고 생각했습니다.stdlib에서 NULL을 ___need_로 선언했습니다.내 AVR GCC 컴파일러의 NULL.이로 인해 Eclipse IDE에 오류가 발생했습니다.그러나 이 오류는 Coden Analysis에서 이상 징후를 찾지 못하고 심어서 기호를 찾을 수 없기 때문에 발생했습니다.C/C++ Code 분석에서 "General -> Startup/Shutdown"의 Preferences에서 Coden을 끄거나 동작을 변경할 수 있습니다.

이것은 때때로 다른 사람들이 경험하고 있는 무작위한 본성을 설명할 수 있습니다.

NULL.Addstdlib.h(#include statement)를 정의하는 헤더 파일을 추가하지 않은 것 같습니다.NULL 매크로를 정의합니다.

CDT가 표준 라이브러리의 헤더를 해결하지 못하는 경우가 있다는 것을 알게 되었기 때문에 여기서 답을 찾고 있었습니다.나는 아직도 왜 그리고 어떻게 버그를 재생산해야 하는지 모릅니다.CDT를 다시 시작하면 모든 것이 해결됩니다.

같은 오류가 발생하여 프로젝트를 마우스 오른쪽 버튼으로 클릭한 후 인덱스 탭 위에 마우스를 올려 놓고 재구축을 클릭하여 수정했습니다.그 후로 제 실수는 사라졌습니다.

추가하기만 하면 됩니다.C:\MinWG\lib이클립스의 도서관 경로로 이동할 수 있습니다.

또한 "심볼엘프 마법을 해결할 수 없었다"는 비슷한 문제가 발생하며, 이미 엘프 헤더가 포함되어 있습니다.소프트웨어를 재시작하기 위한 라이브러리 캐시 ,이 문제를 해결할 수 있다고 생각합니다.다른 분들의 도움에 감사드립니다.

위의 어떤 제안도 저에게 도움이 되지 않았습니다.파일을 열 때마다 제외는 수십 개의 오류를 보고합니다.

결국 도움이 된 것: 모든 파일을 닫은 다음 버그를 수동으로 삭제하고(문제 창에서 오류 목록에서 마우스 오른쪽 버튼을 클릭한 다음), 재구축 인덱스를 수행합니다.

이 문제는 2019년에도 계속 제기되고 있습니다.여러 가지 원인/solutions이 있습니다.

NULL에 대한 편집기에서 해결되지 않은 기호를 얻고 있었고 stdio.h(stderr, printf 등)의 모든 것을 얻었지만 컴파일은 잘 작동했습니다.프로젝트 속성에 들어가 불필요한 C/C++ 포함 경로를 많이 삭제하기 전까지는 아무것도 도움이 되지 않았습니다.그 후 재인덱스를 통해 문제가 해결되었습니다.

다른 경우에는 조건부 전처리기 매크로 트릭과 관련된 클래스 이름에 대해 정의되지 않은 기호가 있었습니다.("프로젝트 특정 설정 사용"을 선택한 후) C/C++ 인덱서 옵션에서 매크로를 정의하는 헤더 파일을 "특정 헤더의 모든 변형 색인"에 추가하면 이 파일이 수정됩니다.

이는 이클립스 CDT 인덱서가 쉽게 혼동될 수 있음을 보여줍니다.

세트${COMMAND}로.gcc리눅스에서

"Preprocessor Include Paths, Macro 등"과 "CDT GCC 내장 컴파일러 설정" 아래에 정의되지 않은 것이 있습니다.${COMMAND}기존 Makefile 프로젝트에서 소스를 가져온 경우 variable.

Eclipse는 이 명령을 실행하여 stdout을 구문 분석하여 헤더를 찾으려 하지만${COMMAND}는 기본적으로 설정되어 있지 않으므로 설정할 수 없습니다.

C 표준 라이브러리 헤더에 대한 Eclipse CDT의 "Unresolved inclusion" 오류에 대해 더 자세히 설명했습니다.

언급URL : https://stackoverflow.com/questions/7433448/eclipse-cdt-symbol-null-could-not-be-resolved

반응형