Neu*_*ino 13 c++ windows winapi visual-studio-2012 visual-studio-2015
在Visual Studio中在Windows上开发C++项目的过去,您的Visual Studio版本将拥有自己的C和C++库版本,您的项目将引用特定版本的Windows SDK以访问标头以进行访问到Win32平台.如果安装了多个版本的Windows SDK,则会出现一个涉及环境变量的复杂系统,使您可以选择默认情况下Windows SDK Visual Studio将使用的版本.
这不是很好,让它正常工作需要一些挖掘,但它只是工作.
刚刚从VS2012升级到VS2015,在我看来,无论这个系统被替换了什么都是彻头彻尾的破坏,或者我只是不理解它.
将包含conio.h的简单VS2012 C++控制台应用程序升级到VS2015,并且没有报告错误.为什么?conio.h不再位于Visual Studio C/C++库中,而是现在位于Windows Kit 10中,升级项目不会重置所使用的SDK(如您所料).
在VS2015中创建一个全新的Hello World C++应用程序C++项目包括目录继承$(VC_IncludePath)和$(WindowsSDK_IncludePath).$(WindowsSDK_IncludePath)从C:\ Program Files(x86)\ Windows Kits\8.1中提取标题,而$(VC_IncludePath)从C:\ Program Files(x86)\ Windows Kits\10中提取标题.
如此简单的项目升级失败,升级时未报告错误.清理新的控制台项目同时从2个不同的Windows Kit安装中提取标题,现在我在C:\ Program Files(x86)\ Microsoft SDKs和C:\ Program Files(x86)\ Windows Kits下有8.1和10的条目.Windows Kit 8.1包含Win32和WinRt标头,而Windows Kit 10包含C/C++标头.
我是否有错误配置和损坏的安装或者它应该如何混乱?
如果这个混乱是应该如何,这是如何工作的?我已经尝试在MSDN上搜索有关Windows套件的信息,但除了关于Windows驱动程序工具包的东西之外什么都没有,这曾经是完全不同的东西,但我不知道它是否仍然存在.
是否有任何我遗漏的文档解释了这个库配置背后的基本原理以及它是如何使用的?
我已经几次遇到了这个问题的几种不同变体,这些问题解决了从VS2012升级到VS2015的项目中的头文件和库依赖关系。
Hans在回答我的问题时的评论确实确实解决了标题问题,但是在遇到相同的库依赖问题之后,我有一个更简单的解决方案也可以用于失败的库依赖解析。
在VS2015中打开VS2012项目时,不会执行自动升级。打开项目属性并将“常规->平台工具集”更改为Visual Studio 2015(v140),很可能会重现我原始问题中描述的标头解析错误的变体或其他库依赖解析错误。
我发现解决这些问题的最简单方法是打开项目属性,然后转到VC ++目录->包括目录。在您自己可能已添加到项目中的所有路径中,您可能会找到$(VCInstallDir)\ include; $(VCInstallDir \ atlmfc \ include; $(WindowsSDK_IncludePath)
单击路径以显示下拉菜单,然后单击编辑,这将显示一个对话框,其中包括三个部分,从上到下,明确定义的路径,评估的路径和继承的路径。最底部是一个复选框“从父项或项目默认值继承”,我一开始发现始终未选中该复选框。
从明确定义的包含路径中删除上述$(VCInstallDir)\ include; $(VCInstallDir \ atlmfc \ include; $(WindowsSDK_IncludePath)条目,然后选择“从父项或项目默认值继承”设置,这应解决任何头文件依赖项问题。
如果还存在库引用问题,请对“库目录”条目执行相同的操作,编辑设置,删除显式平台条目,然后选择“从父项或项目默认值继承”。(即使您没有看到任何链接器错误,这样做也是一个好主意,否则您可能最终在链接到VS2012的库时使用VS2015的平台工具集编译器选项)。
当我没有遇到其他遇到类似问题的人时,我不知道为什么要为这搞砸。以前我在升级Visual Studio解决方案时没有遇到问题。
我还没有发现为什么某些版本的Windows Kit现在包含Windows平台标头或C ++库标头,而以前的SDK总是包含平台标头,而C ++标头始终是Visual Studio安装的一部分。看起来像这样的更改应该在某个地方或其他文档中有关于它的开发博客。但是只要有效,我就不会太在意。
希望对您有所帮助。
归档时间: |
|
查看次数: |
11501 次 |
最近记录: |