Mac 플랫폼에서 pkg 설치 패키지 및 rpath 설정을 만드는 방법

패키징 도구 소개

  • Mac 플랫폼 사양 패키지는 패키지 도구를 사용하여 사용할 수 있습니다.
  • 다운로드 링크

포장 전 준비사항

  • 디렉토리 macProject 생성
    • macProject 디렉토리에는 다음 디렉토리 구조가 있습니다.
    •   myProject.app
        	└── Contents
        		├── Info.plist
        		├── MacOS
        				├── res
        				├── libmymath.dylib
        		├── Frameworks
        		└── Resources
        				├── wolf.icns
      
  • Info.plist : 일부 프로젝트의 구성을 주로 설명합니다. 특정 필드 설명
    키워드 유형 설명하다
    CFBundle실행 가능 실행 가능한 프로그램 파일 이름. 즉, 시작 아이콘에 바인딩된 실행 프로그램
    CFBundle아이콘파일 아이콘 파일 파일명
    CFBundle식별자 애플리케이션 고유 식별자
    CFBundleName 프로그램 설치 후 인터페이스에 표시되는 이름
    LSUIE요소 부울 애플리케이션을 UI 없는 모드로 설정하려면 true로 설정하십시오. 즉, 응용 프로그램이 시작될 때 어떤 창이나 아이콘도 표시하지 않고 메뉴 표시줄에 작은 점만 표시됩니다.
    LS배경만 부울 애플리케이션이 백그라운드에서 실행되고 활성 애플리케이션이 되지 않도록 하려면 true로 설정하십시오.
    • 파일 내용 형식은 다음과 같습니다. 특별한 요구 사항이 없는 경우 다음 필드로 충분합니다.
    •   <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
        <plist version="1.0">
        <dict>
        	<key>CFBundleExecutable</key>
        	<string>res</string>
        	<key>CFBundleIconFile</key>
        	<string>AppIcon</string>
        	<key>CFBundleIdentifier</key>
        	<string>com.csdn.smallgraywolf</string>
        	<key>CFBundleName</key>
        	<string>smallgraywolf</string>
        </dict>
        </plist>
      
      
  • 프레임워크 : 일반적으로 QT 라이브러리와 같이 이 프로그램에서 사용하는 타사 프레임워크가 배치됩니다.
  • MacOS : 스토어 프로그램 및 자체 동적 라이브러리, mac 플랫폼의 동적 라이브러리에는 dylib라는 접미사가 붙습니다.
  • 리소스 : 리소스 파일 저장, 아이콘 리소스를 여기에 배치할 수 있습니다. 아이콘 리소스 형식은 icns 형식이어야 합니다. 웹 페이지에서 PNG 형식 또는 기타 형식의 이미지를 icns 형식으로 직접 변환할 수 있습니다.

  • 애플리케이션에서 패키지를 직접 두 번 클릭하여 열어 패키지 프로젝트 생성

    • 1. 배포를 선택하고 다음을 클릭한 후 MyPackage라는 패키지 프로젝트를 생성합니다.
      여기에 이미지 설명 삽입
      여기에 이미지 설명 삽입

    • 2. 내 패키지를 클릭합니다.

      • 2.1, 설정 항목: 주로 응용 프로그램 고유 식별자 식별자 및 버전 번호 버전을 입력합니다.
        여기에 이미지 설명 삽입

      • 2.2 페이로드 항목: 방금 만든 myProject.app 폴더인 애플리케이션 아래에 애플리케이션을 추가합니다.
        여기에 이미지 설명 삽입

      • 2.3, 스크립트 항목: preinstall(프로그램 설치 전에 실행되는 쉘 스크립트 명령) 및 postinstall(프로그램 설치 후 실행되는 쉘 스크립트 명령)의 두 파일을 추가해야 합니다.

        • 이것은 수요에 따라 추가되며, 필요하지 않으면 추가하지 않아도 됩니다.
          여기에 이미지 설명 삽입
    • 3. 파일 선택 후 메뉴 바에서 빌드를 클릭하면 패키징된 프로젝트 파일과 동일한 레벨 디렉토리에 빌드 디렉토리가 생성되고 빌드 디렉토리에 pkg 설치 패키지가 생성됩니다.
      여기에 이미지 설명 삽입

      여기에 이미지 설명 삽입

    • 설치 패키지가 여기에서 성공적으로 생성되었습니다.

  • 두 번 클릭하여 설치하십시오.
    여기에 이미지 설명 삽입

  • 설치가 완료되면 응용 프로그램에서 응용 프로그램을 찾을 수 있으며 아이콘을 두 번 클릭하여 실행합니다.
    여기에 이미지 설명 삽입

  • 설치 프로그램은 런치패드에서도 찾을 수 있습니다.
    여기에 이미지 설명 삽입

  • 프로그램은 /Applications/myProject.app 디렉토리에 설치됩니다.

앱 제거

  • Mac 플랫폼에서 애플리케이션을 제거할 때 애플리케이션에서 직접 아이콘을 마우스 오른쪽 버튼으로 클릭하고 휴지통으로 이동합니다.
    여기에 이미지 설명 삽입

Mac 플랫폼에서 rpath 설정

  • 여기서 주의할 점은 우리가 컴파일하는 프로그램이 동적 라이브러리에 의존하는 경우 기본 로딩 경로는 우리의 컴파일 경로이지만 다른 사람의 컴퓨터에 설치되어 있으면 컴파일 경로가 존재하지 않으므로 rpath를 수정해야 합니다. 프로그램을 만들기 위한 프로그램의 현재 경로에서 동적 라이브러리를 로드합니다.
  • 현재 경로 아래에 동적 라이브러리를 로드하도록 res를 설정하려고 합니다. 짐을 꾸리기 전에 이 일을 잘 해야 합니다.
  •   install_name_tool -add_rpath @executable_path res
    
  • otool 소개
    • otool 명령의 전체 이름은 개체 파일 표시 도구입니다.대상 파일에 대한 표시 도구로, 응용 프로그램에서 어떤 시스템 라이브러리가 사용되는지, 어떤 개체 메서드 및 속성이 호출되는지 알 수 있습니다.
    • otool -L : 오브젝트 파일에 의해 링크된 라이브러리 보기
    • otool -l : 대상 파일의 상세 정보 보기
  • mac 플랫폼에서 rpath는 install_name_tool 명령줄 도구를 통해 설정해야 합니다.
    • rpath 추가: install_name_tool -add_rpath <로드 경로> <대상 파일>
    • rpath 삭제: install_name_tool -delete_rpath <로드 경로> <대상 파일>
    • rpath 수정: install_name_tool -change <원래 로딩 경로> <새 로딩 경로> <대상 파일>

Mac에 홈브류 설치

  • Homebrew는 MacOS(또는 Linux)용 패키지 관리자입니다. 이를 통해 Mac에서 설치, 업데이트, 보기, 검색, 제거 등과 같은 다양한 응용 프로그램 소프트웨어를 쉽게 관리할 수 있습니다.
  • 다음 명령으로 설치할 수 있습니다.
  •   /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
    

추천

출처blog.csdn.net/new9232/article/details/131734812