Ren*_*Pet 6 c++ resource-files rc
从Visual Studio 2010切换到2012后,我得到了10个RC2135错误,在我的一个C++项目中看起来很奇怪.
Error 1 error RC2135: file not found: 0x06 NamedPipesNative.rc 19 1 NamedPipesNative
Error 2 error RC2135: file not found: 1 NamedPipesNative.rc 28 1 NamedPipesNative
Error 3 error RC2135: file not found: 5 NamedPipesNative.rc 29 1 NamedPipesNative
Error 4 error RC2135: file not found: 5 NamedPipesNative.rc 30 1 NamedPipesNative
Error 5 error RC2135: file not found: 0x17L NamedPipesNative.rc 31 1 NamedPipesNative
Error 6 error RC2135: file not found: FILEOS NamedPipesNative.rc 37 1 NamedPipesNative
Error 7 error RC2135: file not found: 0x2L NamedPipesNative.rc 38 1 NamedPipesNative
Error 8 error RC2164: unexpected value in RCDATA NamedPipesNative.rc 41 1 NamedPipesNative
Error 9 error RC2135: file not found: BLOCK NamedPipesNative.rc 43 1 NamedPipesNative
Error 10 error RC2135: file not found: VALUE NamedPipesNative.rc 45 1 NamedPipesNative
Run Code Online (Sandbox Code Playgroud)
不幸的是我认为这与切换到VS 2012有关(它曾经问过我是否想要转换C++项目),而且我花了很多时间试图根据这个假设弄明白.但实际上它完全不同.为了帮助遇到这个问题的其他人,我马上就会发布答案.
Ren*_*Pet 11
作为切换到Visual Studio 2012的一部分,我还使用自制的程序更新了.rc文件中的程序版本号,该程序处理了我的所有AssemblyInfo.cs和.rc文件,并且它已经改变了编码.从ANSI到UTF-8的rc文件.并且Microsoft资源编译器无法正确读取UTF-8文件! http://social.msdn.microsoft.com/Forums/hu-HU/vcgeneral/thread/e212069d-678e-4ac8-957f-7d60d3e1c89f
所以解决方案是将.rc文件重新编码为ANSI或UTF-16.