CMake添加可执行程序(exe)的图标和详细信息

一.先准备一张.ico图片和一份.rc文件

.ico图片可以用在线工具转换获取;.rc文件可以新建一个记事本文件并添加相关信息,然后将后缀改为.rc。这里将logo.ico、version.rc和main.cpp放在同一个目录

1.logo.ico


2.version.rc

# if defined(UNDER_CE)
#  include <winbase.h>
# else
#  include <windows.h>
# endif
 
IDI_ICON1 ICON DISCARDABLE "logo.ico"//设置图标
 
VS_VERSION_INFO VERSIONINFO
    FILEVERSION 1,0,0,0
    PRODUCTVERSION 1,0,0,0
    FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
    FILEFLAGS VS_FF_DEBUG
#else
    FILEFLAGS 0x0L
#endif
    FILEOS VOS__WINDOWS32
    FILETYPE VFT_DLL
    FILESUBTYPE 0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "040904b0"
            BEGIN
                VALUE "CompanyName", "草上爬\0"
                VALUE "FileDescription", "你好,世界\0"
                VALUE "FileVersion", "1.0.0.0\0"
                VALUE "LegalCopyright", "@2023\0"
                VALUE "OriginalFilename", "应用程序.exe\0"
                VALUE "ProductName", "HelloWorld"
                VALUE "ProductVersion", "1.0.0.0\0"
            END
        END
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x804, 1200//中文
        END
    END

3.main.cpp

#include <iostream>
int main(int argc, char *argv[])
{
    std::cout << "HelloWorld" << std::endl;

    return 0;
}

二.新建CMakeLists.txt

cmake_minimum_required(VERSION 3.5.0)
 
project(HelloWorld)
 
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
 
if(CMAKE_VERSION VERSION_LESS "3.7.0")
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()
 
add_executable(HelloWorld
    main.cpp
    version.rc
)
 
target_link_libraries(HelloWorld)

其实这和Qt给exe添加图标和详细信息类型,Qt只需在Pro文件中添加

RC_FILE += version.rc

三.编译生成的HelloWord.exe

需要注意的是,如果详细信息中出现中文乱码,是编码格式的问题,用记事本打开.rc文件,点击另存为,将编码格式改为ANSI。

原文链接:CMaket添加可执行程序(exe)的图标和详细信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草上爬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值