[C++] <string.h>를 추가하면 여전히 "strlen: 식별자를 찾을 수 없음" 오류가 보고됩니다.

1. 오류 설명

        인터넷의 많은 사람들이 "strlen"이라고 보고합니다. 헤더 파일 <string.h>가 추가되지 않았기 때문에 식별자를 찾을 수 없지만 헤더 파일을 추가했습니다.

        

        여전히 다음 오류를 보고합니다.

         

2. 솔루션 1

         #include "stdafx.h" 헤더 파일을 맨 위에 두어 문제를 해결하십시오.

        

        다음을 통해 컴파일합니다.

3. 문제 추적성

        문제의 원인은 컴파일 소프트웨어 Visual Studio를 사용하여 새 프로젝트를 생성 할 때 "미리 컴파일된 헤더" 옵션을 선택하고 프로젝트 에서 컴파일 속도 최적화를 위해 미리 컴파일된 헤더를 자동으로 생성하기 때문입니다. #include "stdafx .시간". 미리 컴파일의 역할은 프로젝트에서 코드의 해당 부분을 미리 컴파일하고 파일(일반적으로 .pch 확장명 포함)에 저장하는 것입니다. 이 파일을 미리 컴파일된 헤더 파일이라고 합니다. 프로그램을 컴파일할 때 컴파일 작업의 일부를 생략할 수 있어 많은 시간을 절약할 수 있습니다.

        미리 컴파일된 헤더에는 일반적으로 기본 프로그램 참조 라이브러리, 사용자 정의 라이브러리 등이 포함되며 기본 프로그램 참조 라이브러리에는 표준 입력 헤더 파일 stdio.h, 문자열과 같은 C 표준 라이브러리에 해당하는 일반적으로 사용되는 헤더 파일이 포함됩니다. 헤더 파일 문자열 .h 및 기타 파일. 문제는 미리 컴파일된 헤더에 이미 일부 기본 헤더 파일이 포함되어 있고 이러한 라이브러리는 컴파일하기 전에 미리 컴파일되었기 때문에 이러한 헤더 파일을 수동으로 추가하면 쉽게 건너뛸 수 있습니다.

4. 미리 컴파일된 헤더를 닫습니다.

        헤더 파일을 직접 작성하려는 경우 미리 컴파일된 헤더 사용을 해제하고 "Project" -> "Properties"를 클릭하여 프로젝트 속성을 열 수 있습니다.       

        아래 그림에 따라 미리 컴파일된 헤더 사용을 중지합니다.

        동시에 컴파일된 버전이 수정된 구성 버전과 일치하는지 확인하십시오. 

        "적용"을 클릭하고 미리 컴파일된 헤더를 저장하고 삭제한 다음 다시 컴파일하여 컴파일이 통과되었는지 확인합니다.

        추신: 중복 stdafx.h 및 stdafx.cpp는 삭제할 수 있습니다. 

Supongo que te gusta

Origin blog.csdn.net/qq_41884002/article/details/127803856
Recomendado
Clasificación