【发布时间】:2014-05-10 06:44:09
【问题描述】:
我正在使用 Visual Studio Ultimate 2012。我有一个项目可以在我使用默认 v110 平台工具集时运行。
现在我想将点云库 (PCL) 添加到这个项目中以进一步处理它。不幸的是,只有 Visual Studio 2010 可用的二进制文件。我首先尝试自己编译 2012 二进制文件,但结果证明麻烦大于其价值。所以我将我的平台工具集更改为 v100,以便使用 PCL 预构建的二进制文件。
但是,这样做时,我的其中一个包含 (atlbase.h) 不再被识别。我试图通过在项目属性中添加 ATL 的 Include 和 Library 目录来手动包含它。这产生了很多新的错误,源自 atl 头文件,这看起来很奇怪。我还尝试将选项“使用 ATL”从默认的“不使用 ATL”更改为“动态链接到 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
有解决办法吗?
【问题讨论】:
-
你安装了VS 2010吗?
-
我已经安装了 VS 2010 Express 版本,是的。
-
2010 Express 自带构建工具,但是without ATL source code to include/reference.
-
我不确定这有多好用,但您也许可以使用 WDK 7.1 让 ATL 与 VS 2010 Express 一起工作:microsoft.com/en-us/download/confirmation.aspx?id=11800
-
@RomanR.:我知道这一点,但我没有使用 2010 Express IDE 打开或编译项目,我使用的是 2012 Ultimate 和 2010 平台工具集,而 2012 Ultimate 确实附带ATL。我认为 express 中缺少 ATL 无关紧要,因为我不使用它。
标签: c++ visual-studio-2010 visual-studio visual-studio-2012 atl