【问题标题】:How can I convert a Project from Visual C++ 6.0 to Visual Studio Express 2010?如何将项目从 Visual C++ 6.0 转换为 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。希望现在这更有意义。

标签: c++ visual-studio-2010 visual-c++


【解决方案1】:

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

【讨论】:

【解决方案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 分别添加到你的项目配置中。
猜你喜欢
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多