Ошибка Visual Studio: LNK1104: невозможно открыть файл ‘kernel32.lib’ — только в проектах WP8 / Win32

Я столкнулся с этой проблемой недавно (несколько дней назад все работало нормально): Visual Studio 2012 начал отказываться от создания собственных проектов WP8.

Сегодня я создал новое решение из шаблона «Приложение для Windows Phone Direct3D (только для Native)», чтобы проверить, будут ли мои вновь созданные библиотеки 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).

Конфигурация проекта: (на обеих платформах)

Linker :: Вход:

d3d11.lib;%(AdditionalDependencies)

Linker :: Игнорировать:

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)

Есть идеи, что еще может быть не так или неправильно настроено? У меня заканчиваются идеи, я никогда не видел ничего подобного раньше.

Кстати, я заметил еще одно изменение: когда раньше я пытался скомпилировать проекты WP8 в конфигурации ARM, всегда возникала ошибка: «сборка приложения ARM на рабочем столе не поддерживается» (или что-то в этом роде). Теперь ARM компилируется без проблем. Это нормально?

6

Решение

Наконец, я нашел причину своих проблем: как я подозревал, внутренняя конфигурация Visual Studio была нарушена.

Я сделал все стандартные шаги, которые могут быть выполнены в случае LNK1104, однако:

- kernel32.lib был в правильном местоположении
- все каталоги include и библиотеки были правильными
- стандартные файлы * .props были прикреплены к каждому проекту

Однако причина кроется в другом месте.

Все пути определены с использованием стандартных макросов. Одним из них является $ (WindowsSDK80Path), который используется для построения путей include / library. В моей системе этот макрос был определен как

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

вместо

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

И это все. Я не знаю, когда и как эта проблема возникла. Восстановление Visual Studio с помощью оригинального установщика было достаточным способом исправить все. Все проекты сейчас компилируются без проблем.

9

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]