如何使用相对路径向VS项目添加图标

时间:2013-09-25 08:50:47

标签: visual-studio-2010

我正在尝试从相对路径向Visual Studio 2010中生成的可执行文件添加一个图标,因为该项目旨在在多台计算机上进行分发和编译,但我无法使其正常工作。这些是我执行的步骤:

  1. 右键点击资源 - >添加资源 - >图标 - >导入
  2. 然后我从我的项目中导入我的图标,这是两个目录../../ images / icon.ico
  3. 然后我编译并获得exe上的图标,但如果我用文本编辑器打开自动生成的.rc文件,图标的路径是硬编码的,如果我在另一台计算机上移动项目使用不同的文件结构它不编译。
  4. 有没有办法用相对路径设置图标?或者使.rc文件与相对路径一起工作?

2 个答案:

答案 0 :(得分:3)

是的,如果资源位于项目目录或目录的子目录中,资源编辑器将仅生成相对路径。您可以自己编辑.rc文件。右键单击Solution Explorer窗口中的.rc文件,打开方式,选择源代码编辑器并编辑ICON语句。

要注意这样做会引起的未来头痛。这不仅在其他机器上出错,迟早会在您的机器上出错。当您在另一个目录中签出项目或图像文件夹刚刚消失时。资源编辑器生成的绝对路径解决了第一次事故。当然不是第二个。始终倾向于将资源文件复制到项目目录中,以便您可以轻松地将其检入源代码控制,并且不会丢失文件。

答案 1 :(得分:2)

为避免此问题,我们的项目共享相同的磁盘分区 - 专用磁盘分区 - 然后您可以输入绝对路径,但无需键入驱动器号,例如\path\to\my\icon.ico

除了在rc.exe中工作外,这也适用于IDE。

这些是专用磁盘分区+绝对文件表示法的优点:

  • 根据需要创建尽可能多的分区,以分别维护trunk,stable和branches,而不会破坏资源编译器
  • 如果你的项目分区上有很多静态库,需要#include库相对 .rc 文件来生成静态链接的 .exe 你可以在编译时指令框中添加#include <\path\to\your\static\library\resource.rc>。这也适用于 rc.exe 工具。