Go에서 구축한 바이너리 파일에 제품 이름 또는 파일 버전을 추가하는 방법

8181 단어 GoGo 언어Windows

개요


Go 언어로 Windows 바이너리 파일을 구성하면 제품 이름과 파일 버전 등이 모두 비어 있습니다.
이 값을 설정하고 구축하는 방법을 설명합니다.

일반 구축 시


Go에서 Windows 바이너리 파일을 구축하면 exe 속성의 상세 정보 옵션 카드의 모든 값이 비어 있습니다.

값을 설정하는 방법


GoVersionInfo 값을 설정할 수 있습니다.
먼저 GoVersionInfo 패키지를 다운로드합니다.
go get github.com/josephspurrier/goversioninfo/cmd/goversioninfo
GOPATH에 패키지가 설치되어 있으므로 경로를 통과해야 합니다.
set PATH="%GOPATH%\bin";%PATH%
다음 파일을 Go 소스가 포함된 폴더에 배치합니다.
파일 이름은 versioninfo.json 문자 코드는 UTF-8 입니다.
versioninfo.json
{
    "FixedFileInfo": {
        "FileVersion": {
            "Major": 1,
            "Minor": 0,
            "Patch": 0,
            "Build": 0
        },
        "ProductVersion": {
            "Major": 1,
            "Minor": 0,
            "Patch": 0,
            "Build": 0
        },
        "FileFlagsMask": "3f",
        "FileFlags ": "00",
        "FileOS": "040004",
        "FileType": "01",
        "FileSubType": "00"
    },
    "StringFileInfo": {
        "Comments": "",
        "CompanyName": "会社名",
        "FileDescription": "ファイルの説明",
        "FileVersion": "1.0.0.0",
        "InternalName": "test",
        "LegalCopyright": "Copyright (C) 2018 会社名",
        "LegalTrademarks": "",
        "OriginalFilename": "test.exe",
        "PrivateBuild": "",
        "ProductName": "製品名",
        "ProductVersion": "1.0.0.0",
        "SpecialBuild": ""
    },
    "VarFileInfo": {
        "Translation": {
            "LangID": "0411",
            "CharsetID": "04B0"
        }
    },
    "IconPath": "",
    "ManifestPath": ""
}
시작 소스의 시작 부분에 다음 행을 추가합니다.
test.go
//go:generate goversioninfo
다음 명령을 사용하여 구축합니다.
set GOARCH=amd64
set GOOS=windows
go generate
go build -ldflags "-s -w" -i
구축에 성공하면 resource.syso 라는 파일이 생성되고 바이너리 파일은 제품 이름과 버전에 포함됩니다.

아직 시도하지 않았지만 Go의 원본의 시작은 다음과 같다. 아이콘과 선언도 삽입할 수 있다.
자세한 내용은 GoVersionInfo 설명서를 참조하십시오.
//go:generate goversioninfo -icon=icon.ico -manifest=goversioninfo.exe.manifest

좋은 웹페이지 즐겨찾기