Windows에서 mingw의 gcc를 사용하여 출력 exe 파일이 아이콘 파일을 취하도록 지정하여 exe 파일이 탐색기에서 해당 아이콘과 함께 표시되도록 지정하는 것이 있습니까?
Windows에서 mingw의 gcc를 사용하여 출력 exe 파일이 아이콘 파일을 취하도록 지정하여 exe 파일이 탐색기에서 해당 아이콘과 함께 표시되도록 지정하는 것이 있습니까?
답변:
먼저 아이콘을 만들어야합니다. 그런 다음 아래 내용으로 RC 파일을 만들어야합니다. 여기에서 이름을 my.rc
.
id ICON "path/to/my.ico"
id
위의 명령에서 언급은 거의 아무것도 할 수 있습니다. 코드에서 참조하지 않는 한 중요하지 않습니다. 그런 다음 다음과 같이 windres를 실행하십시오.
windres my.rc -O coff -o my.res
그런 다음 실행 파일을 빌드하는 동안 다른 개체 파일 및 리소스 파일과 함께 my.res
위 단계에서 얻은 파일을 포함 합니다. 예 :
g++ -o my_app obj1.o obj2.o res1.res my.res
그리고 그게 전부입니다.
또한 추가 비용없이 애플리케이션에 버전 정보를 포함하려면 다음 상용구를 새 .rc
파일에 추가 하고 위에서 언급 한 단계를 따르십시오.
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080904E4"
BEGIN
VALUE "CompanyName", "My Company Name"
VALUE "FileDescription", "My excellent application"
VALUE "FileVersion", "1.0"
VALUE "InternalName", "my_app"
VALUE "LegalCopyright", "My Name"
VALUE "OriginalFilename", "my_app.exe"
VALUE "ProductName", "My App"
VALUE "ProductVersion", "1.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x809, 1252
END
END
langID는 영국 영어 (제가 확인할 수있는 호주와 가장 가까운 현지화) 용입니다. 미국 "영어"를 원하면 BLOCK
행을 다음과 같이 변경하십시오 .
BLOCK "040904E4"
및 번역 라인 :
VALUE "Translation", 0x409, 1252
자세한 내용은 VERSIONINFO 리소스 를 참조하세요 .
VALUE "Translation", 0x409, 1252, 0x809, 1252
에 따라 미국 및 영국 영어를 모두 사용할 수 있습니다. library / aa381058.aspx . 이것은 또한 하나 이상의 'BLOCK "lang04E4"'를 포함 할 수 있음을 알려줍니다.
IconsExtract
를 사용 하여 필요한 아이콘을에 포함 시켰습니다 exe
.
RC 파일에서 nameID 는 이름 일 필요도없고 정수일 수 있습니다. 파일 이름 에 공백이 포함 된 경우에만 인용해야합니다. 대신에:
windres my.rc -O coff -o my.res
당신이 사용할 수있는:
windres my.rc my.o
my.o
는 MinGW의과를 g++
한 후 windres my.rc my.o
(일부 WinMain
- 관련 오류 메시지),하지만 windres my.rc -O coff -o my.res
경로는 벌금을했다.
.o
(= 자동으로 COFF; my.res.o
명확성을 위해 이름을 지정합니다 ) 저에게 효과적입니다. 실제로 .res
MSVC에서 생성 한 파일의 형식이 다르기 때문에 COFF를 사용하여 이상하거나 호환되지 않는 것 같습니다.res
Resource Hacker를 사용해보십시오. Linux (WSL)에서 프로젝트를 크로스 컴파일하고 홈페이지의 로고에서 아이콘을 생성 할 수있었습니다. exe에 삽입하는 간단한 방법이 필요했고이 프로그램은 훌륭하게 작동했습니다. Angus Johnson의 리소스 해커