O Visual Studio erro:LNK1104:não é possível abrir o ficheiro 'kernel32.lib', apenas para WP8 projetos / Win32 compilações
-
22-12-2019 - |
Pergunta
Eu tive esse problema recentemente (há alguns dias atrás, tudo estava funcionando bem):O Visual Studio 2012 começou a se recusam a construir nativo WP8 projetos.
Hoje, eu criei uma nova solução a partir do modelo de Windows Phone Aplicativo Direct3D (Nativo) " para verificar se o meu recém-criado DLLs serão devidamente acompanhados no WP.Eu tentei compilar este projeto, sem quaisquer alterações ou referências adicionais - puro código gerado pelo VS.No entanto, ele falhou com o erro específico.Eu sei muito bem o que significa e o que poderia ser a possível razão, mas eu não consigo entender, hovewer, de onde ela vem, neste caso.Coisa estranha:isso só acontece no 'Win32' configuração do BRAÇO, compila multa:
1>------ Build started: Project: PhoneDirect3DApp, Configuration: Debug ARM ------
.......
Build Summary
-------------
00:11.742 - Success - Debug ARM - PhoneDirect3DApp\PhoneDirect3DApp.vcxproj
mas Win32 não:
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
Meu padrão (C++nativo/Win32) projetos também funciona como esperado (em Win32 e plataforma x 64 alvos).
Configuração de projeto:(em ambas as plataformas)
Linker::Entrada:
d3d11.lib;%(AdditionalDependencies)
Linker::Ignorar:
ole32.lib;%(IgnoreSpecificDefaultLibraries)
VC++ Directories:
A Microsoft.BRAÇO.Cpp.Usuário:
$(WP80ToolSetPath)lib\arm;$(WindowsSDK_LibraryPath_ARM);
A Microsoft.Win32.Cpp.Usuário:
$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WP80ToolSetPath)lib\x86;$(WindowsSDK_LibraryPath_x86)
Todas as idéias que mais poderia ser errado ou configurado incorretamente?Estou a ficar sem ideias, eu nunca vi algo assim antes.
A propósito, tenho notado mais uma mudança:quando eu estava tentando compilar WP8 projetos no BRAÇO configurtion antes, havia sempre um erro, dizendo: "a construção do BRAÇO do aplicativo na área de trabalho não é suportado" (ou algo assim).Agora o BRAÇO compila sem problemas.É normal?
Solução
Finalmente, eu encontrei a razão dos meus problemas:como eu suspeitava, interno Visual Studio configuração foi quebrado.
Eu fiz todos os passos comuns, que podem ser executadas em caso de LNK1104, no entanto:
- kernel32.lib was in valid location - all include and library directories was correct - standard *.props files were attached to each project
No entanto, a causa estava em outro lugar.
Todos os caminhos são definidos usando o padrão de macros.Um deles é de r $(WindowsSDK80Path), que é usado para criar incluir/caminhos de biblioteca.No meu sistema, esta macro foi definido como
C:\Program Files (x86)\Windows Phone Kits\8.0
em vez de
C:\Program Files (x86)\Windows Kits\8.0
E é isso.Eu não sei quando ou como, este problema arosed.O Visual Studio reparação via original installer foi suficiente método para resolver tudo.Todos os projetos compilar sem problemas.