无法将VS2005中的vcproj转换为2010中的vcproj
Cannot convert vcproj in VS2005 to vcxproj in 2010
我尝试将vcprojects从2005年转换为2010年,我得到以下错误:
转换项目文件"C:tempWin32GlobAgentWin32GlobAgent.vcproj"。无法读取项目文件"Win32GlobAgent.vcxproj"。C:Program FilesMSBuild Microsoft.Cppv4.0Microsoft.CppCommon.targets(36,5):表达式"[System.IO. io . net]Path]::Combine(C:tempWin32GlobAgent, "C:tempWin32GlobAgent"/binWin32GlobAgent.dll)"无法求值。path.
中的非法字符我需要帮助。
我也尝试先转换到2008年,然后转换到2010年,但没有帮助。
谢谢
" C: temp Win32GlobAgent "/bin Win32GlobAgent.dll
从错误消息中可以很清楚地看到,它被字符串内部的双引号绊倒了,而不是末尾。这可能是由于/bin
上的正斜杠引起的。
在.vcproj文件中搜索"/bin
",使用文本编辑器修改为"bin
"或"bin
"。记事本就可以了
在新的vcxproj文件中没有非法符号。然而,在VS2013/VS2012中,文本元素中的引号处理方式不同。他们在过去是好的,但现在导致错误报告。要解决这个问题,只需按照Hans Passant的建议手动编辑vcxproj文件。例如,修改
<Midl Include="doc.idl">
<TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"..Liblib.tlb"</TypeLibraryName>
...
</Midl>
to this (notice .Lib Lib .)TLB被移除:
<Midl Include="doc.idl">
<TypeLibraryName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..Liblib.tlb</TypeLibraryName>
...
</Midl>
对Midl元素中的所有其他元素重复此步骤。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- .cpp和.h文件中的模板专用化声明
- 反向给定链表中的K节点
- 正在查找文档以获得PS4平台的C++中的设备信息
- enum是C++中的宏变量还是整数变量
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 将字符串存储在c++中的稳定内存中
- 文本文件中的单词链表
- 递归函数计算序列中的平方和(并输出过程)
- 如何从C++中的依赖类型中获得它所依赖的类型
- C++中的"inline"关键字
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 用C++中的一个变量定义一个常量
- vector.resize()中的分配错误
- 使用指针从C++中的数组中获取最大值
- arr[-1]在c++中的奇怪行为
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 将值指定给向量(2D)的向量中的某个位置
- 无法将VS2005中的vcproj转换为2010中的vcproj