fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0x0409

一个XP的theme我还得在程序的目录下放一个“程序.exe.manifest”文件,其实我们大可不必这么做,以下操作很简单,不需要将那个manifest文件和我的程序一起发布,仅仅独立发布程序即可,方法如下:
1.插入资源,自定义类型
2.资源类型为24
3.插入一个24类型的资源名称为"1"
4.打开这个资源,在编辑器中粘贴如下代码:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="XP style manifest"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
经过验证你的程序可以自适应XP自定义风格或Vista毛玻璃的效果
如果你非要manifest资源,下面是一个较清晰的理智办法
/TLBID(指定类型库的资源 ID)
/TLBID:id
其中:id
链接器创建的类型库的用户指定值。它重写值为 1 的默认资源 ID。
当编译使用属性的程序时,链接器将创建类型库。链接器将把值为 1 的资源 ID 分配给类型库。
如果该资源 ID 与现有资源中的一个冲突,则可以用 /TLBID 指定另一个 ID。可以传递给 id 的值范围是 1 到 65535
在 Visual Studio 开发环境中设置此链接器选项
打开此项目的“属性页”对话框。有关详细信息,请参见设置 Visual C++ 项目属性。
单击“链接器”文件夹。
单击“嵌入的 IDL”属性页。
修改“类型库资源 ID”属性。

posted @ 2010-01-12 20:31  真功夫  阅读(2238)  评论(0编辑  收藏  举报