1

我有一个 Visual C++ 库,我想为某个平台编译(我尝试为 Win CE ARM 平台编译 POCO,但这可能与这个问题无关)。我得到了一个特定于供应商的 Windows CE SDK(包括所有常见的 Windows 包含文件,例如 winbase.h),它被设置为 Visual Studio 项目文件中的目标平台。但是,当我编译程序时,从错误日志中可以看到使用了默认的Windows 6.0A SDK,导致出现一堆编译错误。

我猜 WindowsSdkDir 没有相应地设置 - 我认为在 Visual Studio 中设置目标平台时会自动覆盖它。

所以我的问题是:我可以显式修改单个项目的 WindowsSdkDir 吗?

先感谢您

4

1 回答 1

1

哪个 CE 版本,哪个 VS 版本以及哪个 Windows 版本?我知道我在安装 CE5 和/或 CE6 SDK 并让它们被在 Windows 7(64 位)上运行的 Visual Studio 2005 识别时遇到了问题。我不记得确切的症状和修复方法,但您可以通过简单地为目标 SDK 创建一个智能设备项目来测试它。

如果这不是问题,那么项目文件 (.vcproj) 和解决方案 (.sln) 中的目标也存在缺陷。您可以相互独立地更改两者,直到您在解决方案的 win32 发布版本中编译项目的 x64 调试版本。验证这些设置是否匹配。

然后,如果您调整 .vcproj 文件以使用您的目标平台(我个人会为此使用文本编辑器),事情应该可以工作。如果您需要调整构建或某些路径,您有时可以在编译器/链接器设置中使用例如 $(Platform)。

最后,如果所有这些都不起作用,还有属性表,可以调整某些设置。然后创建一次属性表,然后将其加载到要编译的项目中。我不确定您是否可以使用该方法更改目标平台或 SDK 路径,我宁愿尝试找出 SDK 不起作用的原因以及如何修复它。

于 2013-06-11T19:59:38.863 回答