"string.h"가 포함되어 있어도 strlcpy 및 strlcat는 암시적으로 선언됩니다.

"string.h"가 포함되어 있어도 strlcpy 및 strlcat는 암시적으로 선언됩니다.

strlcpy함수 나 strlcatC 파일을 호출하려고 하면 Gcc에서 오류가 발생합니다.

error : implicit declaration of strlcpy
error : implicit declaration of strlcat

이러한 함수와 매뉴얼 페이지는 어느 라이브러리에서 찾을 수 있습니까? 포함했지만 string.h아무것도 바뀌지 않습니다. 저는 Linux Mint 17.2와 gcc 4.8.4를 실행하고 있습니다.

답변1

Ubuntu, Mint 및 관련 버전에서는 다음 에서 strlcpy사용할 수 있습니다 .strlcatlibbsd-dev. 달리기

sudo apt-get install libbsd-dev

그러면 라이브러리, 헤더 파일 및 매뉴얼 페이지가 설치됩니다.

C 코드의 함수를 사용하려면 다음 줄을 추가하세요.

#include <bsd/string.h>

파일에 연결하고 -lbsd, 더 이식성 있게는 명령줄 $(pkg-config --libs libbsd)gcc연결하여 라이브러리에 연결합니다.

관련 정보