我有一个Visual C ++库,我想为某个平台编译(我尝试为Win CE ARM平台编译POCO,但这可能与这个问题无关)。我有一个特定于供应商的Windows CE SDK(包括所有常见的Windows包含文件,例如winbase.h),它被设置为Visual Studio项目文件中的目标平台。但是,当我编译程序时,我可以从错误日志中看到使用默认的Windows 6.0A SDK,导致一堆编译错误。
我猜WindowsSdkDir没有相应设置 - 我认为在Visual Studio中设置目标平台时会自动覆盖。
所以我的问题是:我可以明确修改单个项目的WindowsSdkDir吗?
提前谢谢
答案 0 :(得分:1)
哪个CE版本,哪个VS版本和哪个Windows版本?我知道我在安装CE5和/或CE6 SDK时遇到问题,并在Windows 7(64位)上运行的Visual Studio 2005中识别它们。我不记得确切的症状和修复,但您可以通过简单地为目标SDK创建智能设备项目来测试它。
如果这不是问题,那么项目文件(.vcproj)和解决方案(.sln)中的目标也存在缺陷。您可以相互独立地进行更改,直到在解决方案的win32发行版中编译项目的x64调试版本。验证这些设置是否匹配。
然后,如果您调整.vcproj文件以使用您的目标平台(我本人将使用文本编辑器),那么事情应该有效。如果您需要调整构建或某些路径,有时可以在编译器/链接器设置中使用例如$(Platform)。
最后,如果所有这些都不起作用,则有属性表,可以调整某些设置。然后,您创建一次属性表,然后将其加载到要编译的项目中。我不确定您是否可以使用该方法更改目标平台或SDK路径,我宁愿尝试找出SDK无法工作的原因以及如何修复它。