我正在尝试构建一些需要Windows 7.0 SDK头文件和库的C++代码.我的VC++目录设置为:
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSdkDir)\include
$(WindowsSdkDir)\common\include
$(FrameworkSDKDir)include
Run Code Online (Sandbox Code Playgroud)
我的$(WindowsSdkDir)变量应设置为C:\Program Files\Microsoft SDKs\Windows\v7.0\- 我使用SDK的"Visual Studio注册"配置工具来设置它,它在注册表中看起来是正确的.我已经检查过HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows(和同样的Wow6432Node.
尽管如此,Visual C++仍在从中获取头文件 C:\Program Files\Microsoft SDKs\Windows\v6.0A\
怎么了,怎么解决?
我在Windows 7上安装了VS2013和VS2015.
我有一个现有的C++ Dll项目正在建设正常但现在突然间它不会使用VS2015构建并给我错误:
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
Run Code Online (Sandbox Code Playgroud)
从这篇文章:致命错误LNK1104:无法打开文件'kernel32.lib'我去找了kernel32.lib文件,它位于这里:
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
Run Code Online (Sandbox Code Playgroud)
当我转到我的项目属性 - >链接器 - >输入并选择宏时,我看到这条路径确实存在:
我的平台工具集设置为Visual Studio 2013 - Windows XP(v120_xp),它始终设置为.
为什么我的项目突然停止建设?什么可能出错?
我最近遇到了这个问题(前几天一切正常):Visual Studio 2012开始拒绝构建原生WP8项目.
今天,我从模板'Windows Phone Direct3D App(Native Only)'创建了新的解决方案,以检查我是否在WP上正确支持我新创建的DLL.我尝试编译这个项目,首先没有任何更改或额外的引用 - 由VS生成的纯代码.但是,它因给定错误而失败.我非常清楚这是什么意思,可能的原因是什么,但我无法理解,在这种情况下它来自何处.奇怪的是:这只发生在'Win32'配置中,ARM编译很好:
1>------ Build started: Project: PhoneDirect3DApp, Configuration: Debug ARM ------
.......
Build Summary
-------------
00:11.742 - Success - Debug ARM - PhoneDirect3DApp\PhoneDirect3DApp.vcxproj
Run Code Online (Sandbox Code Playgroud)
但Win32没有:
1>------ Build started: Project: PhoneDirect3DApp, Configuration: Debug Win32 ------
.......
1>LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
Build Summary
-------------
00:09.725 - Failed - Debug Win32 - PhoneDirect3DApp\PhoneDirect3DApp.vcxproj
Run Code Online (Sandbox Code Playgroud)
我的标准(本机C++/Win32)项目也按预期工作(在Win32和x64平台目标中).
项目配置:(在两个平台中)
链接::输入:
d3d11.lib;%(AdditionalDependencies)
Run Code Online (Sandbox Code Playgroud)
链接::忽略:
ole32.lib;%(IgnoreSpecificDefaultLibraries)
Run Code Online (Sandbox Code Playgroud)
VC++目录:
Microsoft.ARM.Cpp.User:
$(WP80ToolSetPath)lib\arm;$(WindowsSDK_LibraryPath_ARM);
Run Code Online (Sandbox Code Playgroud)
Microsoft.Win32.Cpp.User:
$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WP80ToolSetPath)lib\x86;$(WindowsSDK_LibraryPath_x86)
Run Code Online (Sandbox Code Playgroud)
有什么想法可能是错误的或错误配置?我的想法已经不多了,我以前从未见过这样的东西.
顺便说一句,我注意到了另一个变化:当我尝试在ARM配置中编译WP8项目时,总是出现错误,说"不支持在桌面上构建ARM应用程序"(或类似的东西).现在ARM编译没有问题.这是正常的吗?
c++ linker-errors visual-studio-2012 windows-phone-8 windows-phone-8-sdk