Erreur Visual Studio: LNK1104: impossible d'ouvrir le fichier 'kernel32.lib' - uniquement dans les projets WP8 / Win32 construit

StackOverflow https://stackoverflow.com//questions/21056470

Question

J'ai rencontré ce problème récemment (il y a quelques jours tout allait bien): Visual Studio 2012 a commencé à refuser de construire des projets natifs de WP8.

Aujourd'hui, j'ai créé une nouvelle solution à partir de l'application Windows Direct3D de Template 'Windows Phone Direct3D (natif uniquement)' pour vérifier si mes DLL nouvellement créées seront correctement pris en charge sur WP. J'ai essayé de compiler ce projet, d'abord sans modification ni références supplémentaires - code pur généré par vs. Cependant, il a échoué avec une erreur donnée. Je sais très bien ce que cela signifie et quelle pourrait être la raison éventuelle, mais je ne peux pas comprendre, Hovewer, d'où vient-il dans ce cas? Chose étrange: cela ne se produit que dans la configuration 'Win32', Bras compile bien:

1>------ Build started: Project: PhoneDirect3DApp, Configuration: Debug ARM ------
.......

Build Summary
-------------
00:11.742 - Success - Debug ARM - PhoneDirect3DApp\PhoneDirect3DApp.vcxproj

mais Win32 ne:

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

Mes projets standard (Native C ++ / Win32) fonctionnent également comme prévu (dans les objectifs de la plate-forme Win32 et X64).

Configuration du projet: (dans les deux plates-formes)

Linker :: Entrée:

d3d11.lib;%(AdditionalDependencies)

Linker :: Ignorer:

ole32.lib;%(IgnoreSpecificDefaultLibraries)

Répertoires 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)

Des idées sur quoi d'autre pourrait être erronée ou configurée de manière incorrecte? Je manque d'idées, je n'ai jamais vu quelque chose comme ça avant.

Au fait, j'ai remarqué une modification supplémentaire: lorsque j'essayais de compiler des projets WP8 dans la configuration du bras auparavant, il y avait toujours une erreur, disant "L'application du bras de construction sur le bureau n'est pas prise en charge" (ou quelque chose comme ça) . Maintenant, bras compile sans problème. Est-ce normal?

Était-ce utile?

La solution

Enfin, j'ai trouvé la raison de mes problèmes: comme je le soupçonnais, la configuration interne Visual Studio a été brisée.

J'ai fait toutes les étapes standard, qui peuvent être effectuées en cas de LNK1104, cependant:

- kernel32.lib was in valid location
- all include and library directories was correct
- standard *.props files were attached to each project

Cependant, la cause était couchée ailleurs.

Tous les chemins sont définis à l'aide de macros standard.L'un d'entre eux est $ (WindowsDK80Path), utilisé pour construire des chemins de bibliothèque.Sur mon système, cette macro a été définie comme

C:\Program Files (x86)\Windows Phone Kits\8.0

au lieu de

C:\Program Files (x86)\Windows Kits\8.0

Et c'est tout.Je ne sais pas, quand ou comment, ce problème a été soulevé.La réparation Visual Studio via un installateur orginal était une méthode suffisante pour tout corriger.Tous les projets compilent maintenant sans aucun problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top