C++: 向项目模板添加资源

问题描述 投票:0回答:1

目前我有一个C++项目模板,其中包含一些预装的图片,在代码里面定义为一个字节数组。我想通过将图像移动到资源中来重新组织项目,但问题是 .rc 脚本只接受 绝对的 路径的图片,因此我不太明白如何才能正确地将它们用于项目模板。我只想把图片文件放在项目目录下的某个地方,然后在项目中引用它们。.rc 脚本,使用 移植的路径。么可能吗?

VS2019社区16.5.4 btw。

UPDATE1.我需要在编译时包含我的资源,因此动态文件管理是不可能的。 我需要在编译时包含我的资源,因此动态文件管理不是一个选项。 我在一个项目中有.rc文件,里面有一些PNG图片。它们是用 绝对的 径如 IDB_PNG1 PNG "D:\\absolute\\path\\to\\file.png". 问题是我不能使用路径。相对于项目譬如 IDB_PNG1 PNG "\\path\\inside\\project\\file.png",让我的资源在模板中的可移植性为零。

UPDATE2: 我发现的一个可能的解决办法是使用 CustomParameter元素 并在.rc文件中写入路径,如 IDB_PNG1 PNG "$projectpath$\\path\\inside\\project\\file.png",然后设置 ReplaceParameters=True .vstemplate中的.rc文件。但只有 $projectname$ 默认参数,我都不知道绝对路径能不能做到。

UPDATE3(答案)。 谢谢 这个 的问题,我发现有一个未记录的参数 $solutiondirectory$ 希望MS不会在以后的版本中放弃它)。所以我干脆把我的资源写成 IDB_PNG1 PNG "$solutiondirectory$\\$projectname$\\path\\inside\\project\\file.png" 然后这些路径会在创建项目时由Visual Studio自动更新。问题解决了!

c++ visual-studio templates resources project
1个回答
0
投票

假设你使用的是.rc文件,在类似图标图片的情况下,是可以的。你可以只用标准库链接到图像文件,然后逐字逐句地读取它,并将其加载到你之前使用的数组中。

如果这个上下文不对,你可以分享一些代码,以便更好的理解。


0
投票

感谢 这个 的问题,我发现有一个未记录的参数 $solutiondirectory$ 希望MS不会在以后的版本中放弃它)。所以我干脆把我的资源写成 IDB_PNG1 PNG "$solutiondirectory$\\$projectname$\\path\\inside\\project\\file.png" 然后这些路径会在创建项目时由Visual Studio自动更新。问题解决了!

© www.soinside.com 2019 - 2024. All rights reserved.