Visual Studio 2010 2005解决方案的转换(c++项目)失去了项目依赖关系
Visual Studio 2010 conversion of 2005 solutions (C++ projects) loses project dependencies
我正试图将一个相当大的VS2005解决方案与许多c++项目转换为VS2010。在自动转换之后,我可以看到项目之间的一些依赖关系丢失了,因此我的VS2010构建失败,除非我手动重新添加依赖关系。
有人看到这种行为吗?
是否有解决这个问题的方法?
我可以通过更改/修复VS2005解决方案/项目来避免在转换期间丢失依赖关系吗?
EDIT:另一个转换产物是,像单个项目中的三个头文件突然被认为是c++源文件(而不仅仅是头文件),并且尝试编译它们。随后编译失败,因为它们不包括stdafx.h。
VS2010项目转换是令人担忧的。如果你还没有应用VS2010 Service Pack 1,你几乎肯定会浪费你的时间。
关于项目依赖关系(你可能不喜欢这个):MSBuild 4.0 (VS2010构建代理)不再在解决方案文件中寻找项目依赖关系。即使您设法在IDE中构建解决方案,如果您计划从命令行构建脚本或TFS构建服务器构建解决方案,那么必须在每个项目中应用您的所有项目相互依赖项。否则你的项目几乎肯定会乱序构建,特别是在多核机器上,默认情况下,MSBuild 4.0使用尽可能多的内核。
我的团队不得不咬紧牙关,在每个项目中手动重新创建项目依赖关系,以便VS2010解决方案能够在Visual Studio和TFS构建服务器中正确构建。
我有一个类似的问题,这就是我所做的:首先从2005年转换到2008年,然后从2008年转换到2010年。这帮助了我。
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法在 CLion 中构建 C++ 项目
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 欧拉项目#8答案是大以获得有效答案
- 从链接列表c++中删除一个项目
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 既然存在危险,为什么项目要使用-I include开关
- cmake在我的项目中所需的所有静态库都不成功
- QT通过C++添加映射QML项目
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在linux上调试巨大的C++项目
- 在其他文件中创建类时在 c++ 项目中不起作用
- 使外部项目可用于find_package CMake
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 如何维护资源管理器项目视图中当前可见的项目列表
- MFC) 使 TreeCtrl 失去其项目焦点
- Visual Studio 2010 2005解决方案的转换(c++项目)失去了项目依赖关系