【发布时间】:2014-01-30 03:26:45
【问题描述】:
我最近遇到了这个问题(几天前一切正常):Visual Studio 2012 开始拒绝构建原生 WP8 项目。
今天,我从模板“Windows Phone Direct3D 应用程序(仅限本机)”创建了新的解决方案,以检查我新创建的 DLL 是否在 WP 上得到正确支持。我尝试编译这个项目,首先没有任何更改或额外的引用 - 由 VS 生成的纯代码。但是,它因给定错误而失败。 我很清楚这是什么意思,可能的原因是什么,但我不明白,但是,在这种情况下它是从哪里来的。 奇怪的事情:这只发生在“Win32”配置中,ARM 编译正常:
1>------ Build started: Project: PhoneDirect3DApp, Configuration: Debug ARM ------
.......
Build Summary
-------------
00:11.742 - Success - Debug ARM - PhoneDirect3DApp\PhoneDirect3DApp.vcxproj
但 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
我的标准(本机 C++/Win32)项目也可以按预期工作(在 Win32 和 x64 平台目标中)。
项目配置:(在两个平台上)
链接器::输入:
d3d11.lib;%(AdditionalDependencies)
链接器::忽略:
ole32.lib;%(IgnoreSpecificDefaultLibraries)
VC++ 目录:
Microsoft.ARM.Cpp.User:
$(WP80ToolSetPath)lib\arm;$(WindowsSDK_LibraryPath_ARM);
Microsoft.Win32.Cpp.User:
$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WP80ToolSetPath)lib\x86;$(WindowsSDK_LibraryPath_x86)
任何想法还有什么可能是错误的或配置不正确?我的想法已经用完了,我以前从未见过这样的东西。
顺便说一句,我注意到另一个变化:之前我在 ARM 配置中尝试编译 WP8 项目时,总是出现错误,说“不支持在桌面上构建 ARM 应用程序”(或类似的东西) .现在 ARM 编译没有问题。正常吗?
【问题讨论】:
-
I've received the same link error. 也许那里的一些答案可能会有所帮助。
-
它说找不到文件,所以检查它是否还在。 C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86\kernel32.lib
-
已检查。正如我所说,我已经执行了所有基本检查 - 没有结果。但是,我开始检查 VS 构建环境使用的内部宏,似乎有些东西可能被破坏了。如果有可行的解决方案,我会提供反馈。
-
查看安迪·拉什顿的答案以获取解释stackoverflow.com/questions/13426740/…
标签: c++ visual-studio-2012 windows-phone-8 linker-errors windows-phone-8-sdk