如何将项目从 Visual C++ 6.0 转换为 Visual Studio Express 2010?

Posted

技术标签:

【中文标题】如何将项目从 Visual C++ 6.0 转换为 Visual Studio Express 2010?【英文标题】:How can I convert a Project from Visual C++ 6.0 to Visual Studio Express 2010? 【发布时间】:2012-02-25 14:01:29 【问题描述】:

我在编译带有 Microsoft Visual C++ 6.0 工作区的 Integrating Vision Toolkit 时遇到问题。 Visual Studio Express 2010 无法转换工作区。

我按照here 的描述尝试了 VCUpgrade,但没有成功。

Unable to convert project.
Please make sure this is a valid Visual C++ 6.0 project.

我尝试从一个新项目重新开始并手动添加文件,vcxproj 包含以下文件:

 <ItemGroup>
    <ClInclude Include="..\..\..\src\Helpers\BasicFileIO.h" />
    <ClInclude Include="..\..\..\src\Helpers\Configuration.h" />
    <ClInclude Include="..\..\..\src\Helpers\helpers.h" />
    ...
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\..\src\Helpers\BasicFileIO.cpp" />
    <ClCompile Include="..\..\..\src\Helpers\Configuration.cpp" />
    <ClCompile Include="..\..\..\src\Helpers\helpers.cpp" />
    ...

这些文件无法编译,因为(已经包含的)头文件无法解析。

我应该如何设置项目以包含来自不同目录的 cpp 和 h 文件?

我希望有比将文件复制到平面目录更好的方法。 (多年没用C++,请初学者解释一下)

【问题讨论】:

"这些文件无法编译,因为(已经包含的)头文件无法解析。"我不太确定你的意思是什么。您遇到了什么错误? @spencercw 错误消息是 ` ..\..\..\src\Math\DoubleMatrix.cpp(50): 致命错误 C1083: 文件(包括)无法打开:“Helpers/ helpers.h":` helpers.h 包含在列表中,另一个文件(也包含在内)依赖于未找到的 helpers.h。希望现在这更有意义。 【参考方案1】:

您需要 VC++ 2008 Express(或 VC++ 2010 的零售版,如专业版)从 VC++ 6.0 转换。看看这个线程:Visual C++ 2010 Express cannot open Visual C++ 6.0 projects

【讨论】:

谢谢我已经找到了这篇文章,你知道我是否以及在哪里可以获得 VC++ 2008 的副本吗? @stacker 你可以得到一份 VS 2008 Express here 的副本,尽管手动转换它可能会花费更少的时间。 VISUAL STUDIO 2008 EXPRESS EDITIONS - microsoft.com/visualstudio/en-us/products/2008-editions/express【参考方案2】:

您需要在 IDE 中设置包含目录。右键单击您的项目并选择属性。导航到 C/C++ -> 常规 -> 附加包含目录并将路径添加到包含文件夹(包含 Helpers 文件夹的文件夹,其中包含您的 helpers.h 文件)。像这样的:

$(SolutionDir)your_project\include

【讨论】:

谢谢,我需要手动添加所有 20 个目录吗? @stacker 可能不会。如果您有一个包含一个包含一堆其他目录的包含目录的层次结构,那么您不需要这样做,除非代码引用了没有该目录的 .h 文件。例如,如果您有类似 include\a\a.h 和 include\b\b.h 的内容,并且您的 .cpp 文件包含“a.h”和“b.h”而不是“a\a.h”和“b\b.h”,您将需要将 include\a 和 include\b 分别添加到你的项目配置中。

以上是关于如何将项目从 Visual C++ 6.0 转换为 Visual Studio Express 2010?的主要内容,如果未能解决你的问题,请参考以下文章

从 Visual Studio C++ 6.0 到 VS 2008?

如何将 jpg 文件加载到 CBitmap (visual c++ 6.0) 中?

如何在 Visual C++ 6.0 中检查单选按钮的值

将 CMake.txt 转换为 .vcxproj 文件 C++ Visual Studio 项目

如何将以下行 c# 转换为 Visual c++

如何在 Visual C++ 中使用 python