VS Code下C++ Windows桌面开发生成含嵌入资源exe的方法咨询
当然可以实现!在VS Code里做Windows C++桌面开发时,你完全能复刻Visual Studio里用rc.exe嵌入资源的操作,下面给你梳理具体的实现方式:
第一步:编写资源脚本文件
先创建一个.rc格式的资源脚本,比如命名为app_res.rc,里面定义你要嵌入的资源类型和路径。举个嵌入图标的例子:IDI_APP_ICON ICON "app_icon.ico"这里
IDI_APP_ICON是自定义的资源ID,ICON表示资源类型,后面跟着你的图标文件相对路径,你也可以在里面嵌入字符串、对话框模板等其他资源。第二步:用
rc.exe编译资源脚本
打开VS的开发者命令提示符(确保rc.exe能被系统找到,它一般在VS的工具链目录里),执行以下命令把.rc文件编译成.res二进制资源文件:rc /nologo app_res.rc/nologo参数是用来关闭编译时的版权信息输出,如果你需要指定输出路径或者其他编译选项,可以查看rc.exe的官方文档调整参数。第三步:链接资源文件到exe
接下来把你的C++源码和生成的.res文件一起编译链接。如果用MSVC的cl.exe编译器,命令大概是这样:cl /EHsc main.cpp app_res.res user32.lib这里
user32.lib是Windows桌面程序常用的依赖库,你可以根据自己项目的需求添加其他必要的库文件。用CMake简化流程(可选)
要是你在VS Code里用CMake管理项目,那可以直接在CMakeLists.txt里添加资源文件,CMake会自动帮你调用rc.exe处理并链接:add_executable(MyDesktopApp main.cpp) target_sources(MyDesktopApp PRIVATE app_res.rc)这样每次构建项目时,资源都会自动嵌入到最终的exe里,不用手动执行编译资源的命令。
最后要注意:确保你的VS Code环境能正确调用MSVC的工具链,要么提前启动VS开发者命令提示符再打开VS Code,要么在VS Code的配置里指定好rc.exe和编译器的路径。
备注:内容来源于stack exchange,提问作者sahgasdvsadgv

