c 컴파일에 사용할 라이브러리를 추가하고 싶지만 실제로 우분투가 그것을 어디에 저장하는지 모르겠습니다.
c 컴파일에 사용할 라이브러리를 추가하고 싶지만 실제로 우분투가 그것을 어디에 저장하는지 모르겠습니다.
답변:
귀하의 질문에 대한 귀하의 의견을 바탕으로, 당신이 정말로 요구하는 것은 "내가 작성한 커스텀 라이브러리를 어떻게 설치하고 어디에 두어야합니까?"라고 생각합니다.
일반적으로 머신에서 다른 사용자를 위해 로컬로 빌드 된 항목은 / usr / local 트리에 저장됩니다. 헤더 파일은 / usr / local / include에 있어야합니다. 컴파일 된 라이브러리는 / usr / local / lib로 이동해야합니다. .c 파일은 라이브러리의 일부가 아니며 소스의 일부이며 일반적으로 최종 사용자의 사용을 위해 설치되지 않은 파일입니다. 이 위치 중 하나에 파일을 넣으려면 루트 액세스 권한이 필요합니다.
라이브러리를 빌드하려면 먼저 정적 또는 동적 (공유) 라이브러리를 원하는지 결정해야합니다. 공유 라이브러리 작성에 대한 자세한 정보는 3.4, 공유 라이브러리 작성 ( http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html) 섹션에 있습니다 . (또한 물건을 넣을 위치에 대한 권장 사항이 있습니다. 대부분의 개발자에게는 의견이 있습니다. :-)
라이브러리에 따라 우분투는 주로 세 위치에 라이브러리를 저장합니다.
다음은 파일 시스템 계층 표준에서 가져온 것입니다
/ lib
/ lib 디렉토리에는 시스템을 부팅하고 루트 파일 시스템에서 명령을 실행하는 데 필요한 공유 라이브러리 이미지가 포함되어 있습니다. / bin 및 / sbin의 바이너리로.
/ usr / lib
/ usr / lib에는 사용자 나 셸 스크립트에서 직접 실행하지 않는 개체 파일, 라이브러리 및 내부 바이너리가 포함되어 있습니다. [22]
응용 프로그램은 / usr / lib 아래에 단일 하위 디렉토리를 사용할 수 있습니다. 응용 프로그램이 서브 디렉토리를 사용하는 경우, 응용 프로그램이 독점적으로 사용하는 모든 아키텍처 종속 데이터는 해당 서브 디렉토리 내에 있어야합니다.
/ usr / local / lib 에는 로컬 라이브러리가 포함되어 있습니다. 즉,이 시스템에 특정한 라이브러리가 있지만 FHS에서 / usr / local / lib에 대한 참조를 찾을 수 없으며 / usr / local에 대한 설명 만 포함되어 있습니다.
우분투는 Filesystem Hierarchy Standard ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard )를 따르며 , 일반 응용 프로그램 라이브러리는 / usr / lib에 저장해야합니다.
라이브러리 개발 / 관리는 사소한 주제가 아니며,보다 자세한 문서를 읽어야합니다. 다음은 훌륭한 자습서입니다. http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
우분투에서는에 /usr/include
있습니다.
/usr/include
있습니다. 라이브러리의 실제 바이너리는 거기에 저장되지 않습니다. 헤더는 라이브러리의 일부로 간주 될 수 있지만 별도로 설치해야하며 라이브러리를 사용하는 프로그램을 컴파일 하는 데 사용됩니다. 라이브러리를 사용하는 프로그램이 컴파일되면 더 이상 헤더 파일이 필요하지 않습니다.