Visual Studio 2012使用平台工具集v100。无法打开源文件" atlbase.h"

时间:2014-03-31 02:54:54

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

我正在使用Visual Studio Ultimate 2012.我有一个项目,当我使用默认的v110平台工具集时。

现在我想将Point Cloud Library(PCL)添加到此项目中以进一步开展工作。不幸的是,只有二进制文件可用于Visual Studio 2010.我首先尝试自己编译2012二进制文件,但事实证明它比它的价值更麻烦。所以我将我的平台工具集更改为v100,以便使用PCL预构建的二进制文件。

然而,当这样做时,我的一个包含(atlbase.h)不再被识别。我试图通过在项目属性中添加ATL的Include和Library目录来手动包含它。这产生了许多新的错误,这些错误源于atl头文件,这似乎很奇怪。我也试过改变选项"使用ATL"到"动态链接到ATL"和#34;静态链接到ATL"来自默认"不使用ATL"无济于事。

我正在使用64位Windows 7 Ultimate计算机并希望以32位编译。

编辑:使用Process Monitor我发现Visual Studio正在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ atlmfc \ include \ atlbase.h中查找包含文件。 此文件夹(.. \ atlmfc)不存在。 我的VS2012安装在D:\ School Programs \ Visual Studio 2012

这是否有解决方法?

2 个答案:

答案 0 :(得分:2)

  1. 下载并安装WDK 7.1(microsoft.com/en-us/download/confirmation.aspx?id=11800
  2. 创建一个指向安装目录的环境变量,我称之为我的WINDDK
  3. 转到项目属性 - > VC ++目录
  4. 将$(WINDDK)\ inc \ atl71添加到包含目录
  5. 将$(WINDDK)\ lib \ ATL \ i386添加到库目录(这是32位)
  6. 转到项目属性 - >链接器 - >输入
  7. 将atl.lib添加到其他依赖项
  8. 这些步骤解决了我的问题

答案 1 :(得分:1)

  1. 当您切换到另一个不同的工具集时,此完整工具集必须可用。这还包括头文件。
  2. 应该可以毫无困难地将此DLL转换为VS 2012.或者myabe,您可以包含完整的源代码而不使用单独的DLL。