blkid.h 형식 정의는 다음과 같습니다.
typedef struct blkid_struct_dev *blkid_dev;
이는 blkid.h에서 blkid_struct_dev 태그가 나타나는 유일한 경우입니다.
grep -rl blkid_struct_dev /usr/include
/usr/include/blkid/blkid.h만 반환됩니다. 그래서 나는 구조체가 내가 설치하지 않은 -dev 패키지에 정의되어 있다고 가정합니다(단, 내 Slackware 상자의 다른 곳에는 나타나지 않으며 Slackware는 패키지에 모든 헤더를 포함합니다).
이 구조는 어디에 정의되어 있나요?
답변1
Ubuntu PC에서도 동일한 문제가 발생했으며 구조체 선언만 찾을 수 있었습니다. 정의는 util-linux 소스 코드의 blkidP.h 파일에 있는 것으로 밝혀졌습니다. 이 라이브러리를 사용하여 프로그램을 컴파일할 때는 blkid.h의 선언만 필요하므로 blkidP.h는 필요하지 않습니다. 라이브러리를 컴파일하면 됩니다.