首页 > 解决方案 > 使用 GCC 和 VSCode 的 tasks.json 将图标添加到应用程序

问题描述

我已经用谷歌搜索并在这里搜索了有关如何编译带有图标的应用程序的答案(我以前从未这样做过),但我尝试过的任何方法都不起作用。我在 Windows 10 上使用 VSCode,所以当我编译时,它会查阅 tasks.json 并使用 GCC(我从 mingw-64w 获得)。

我尝试按照此线程中的建议进行操作,但它已经 12 岁了并且没有用。

在我的项目文件夹中,假设我有 myicon.ico。我把它放在一个 .rc 文件中:

#include <windows.h> 
myicon ICON "myicon.ico"

然后在终端中,我使用windres D:\\Programming\\My_App\\src\\myicon.rc -o myicon.res
生成“myicon.res”。有没有办法将该步骤包含在我的 tasks.json 中,以防将来有人需要编译带有新图标的版本?我尝试在 .rc 文件中的“myicon.ico”前面添加路径,就像链接中的示例一样,但如果我这样做,GCC 将找不到它。

我不知道如何处理 res 文件。我尝试将“myicon.res”放在"args":tasks.json文件中,但无论我是否包含目录,ld.exe都会说“没有这样的文件或目录”。我尝试搜索 GCC 参数列表,但没有找到任何与资源相关的内容。tasks.json 看起来像这样:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe build active file",
            "command": "C:\\msys64\\mingw64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-IC:/MyLibs/lua-5.1/include",
                "-IC:/MyLibs/iup/include",
                "-LC:/MyLibs/lua-5.1",
                "-LC:/MyLibs/iup",
                "-LC:/MyLibs/iup/Lua51",
                "-llua5.1",
                "-liup",
                "-liuplua51",
                "myicon.res"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "compiler: C:\\msys64\\mingw64\\bin\\gcc.exe"
        }
    ]
}

如何修复我的 tasks.json(或我生成它的 c_cpp_properties.json)?

标签: visual-studio-codegcciconsmingw-w64vscode-tasks

解决方案


推荐阅读