PhotoView Windows 7 Справочное приложение - PullRequest
1 голос
/ 28 августа 2009

Я скачал справочное приложение PhotoView для Win7 с исходным кодом. Приложение работает, но я не могу получить проект для сборки.

В решении имеется проект ServiceControlInterop C ++, который не будет создаваться. Я понял, что ему нужен Win7 SDK, который я скачал, но теперь, когда у меня есть ссылка на winsvc.h, на которую я ссылаюсь, я получаю массу новых ошибок. Я далеко не опытный разработчик C ++, поэтому я надеюсь, что этот список вызовет нечто очевидное для некоторых гуру C ++:

ОБНОВЛЕНИЕ: Анельсон был совершенно прав, добавление этих путей позволило мне скомпилировать проект ServiceControlInterop.

Для тех, кому интересно, вам также понадобится проект UACHelpers и класс Microsoft.KtmIntegration , чтобы получить полное решение для компиляции, это просто чудовище. Добавьте проект UACHelpers в решение и создайте новый проект для класса Microsoft.KtmIntegration (ссылка на листинг кода в MSDN ... Я думаю, что это должен быть вспомогательный класс, который они забыли включить в источник PhotoView.)

Error   13  error C2065: 'NETWORK_MANAGER_FIRST_IP_ADDRESS_ARRIVAL_GUID' : undeclared identifier    C:\Program Files\Microsoft SDKs\Windows\v7.0\include\Winsvc.h   313 ServiceControlInterop (Windows7Plugins\TrigerStartService\ServiceControlInterop)
Error   14  error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   C:\Program Files\Microsoft SDKs\Windows\v7.0\include\Winsvc.h   318 ServiceControlInterop (Windows7Plugins\TrigerStartService\ServiceControlInterop)
Error   15  error C2078: too many initializers  C:\Program Files\Microsoft SDKs\Windows\v7.0\include\Winsvc.h   318 ServiceControlInterop (Windows7Plugins\TrigerStartService\ServiceControlInterop)
Error   16  error C2065: 'NETWORK_MANAGER_LAST_IP_ADDRESS_REMOVAL_GUID' : undeclared identifier C:\Program Files\Microsoft SDKs\Windows\v7.0\include\Winsvc.h   321 ServiceControlInterop (Windows7Plugins\TrigerStartService\ServiceControlInterop)
Error   17  error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   C:\Program Files\Microsoft SDKs\Windows\v7.0\include\Winsvc.h   326 ServiceControlInterop (

Ответы [ 2 ]

2 голосов
/ 28 августа 2009

Полагаю, вы имеете в виду этот образец . Вам определенно нужен Windows 7 SDK, как вы уже поняли. Но вам также нужно настроить пути include и lib, чтобы они указывали на Windows 7 SDK.

В Visual Studio 2k8 перейдите в Инструменты | Параметры и в дереве выберите Проекты и решения | Каталоги VC ++.

Ваши каталоги включения для обеих архитектур должны быть:

Include directories
(источник: flickr.com )

Ваши каталоги библиотеки должны быть:

Library directories
(источник: flickr.com )

(Примечание: это для x64. Для x86 отбросьте 'x64' в конце пути

ОБНОВЛЕНИЕ : Забыл упомянуть, что вам может потребоваться выполнить Перестройку проекта после изменения пути включения, если предварительно скомпилированные заголовки уже были созданы с отсутствующими файлами заголовков.

0 голосов
/ 28 января 2010

Для x64, если вы скачали x86, лучше всего сделать 32-битную сборку. Используйте диспетчер конфигурации, чтобы переключиться на x86, перестроить, там есть все необходимые ссылки и т. Д. Не нужно прыгать через обручи, чтобы найти KtmIntegration, UacHelper и тому подобное. Вам, вероятно, нужен SDK и его интеграция с VS - как описано в другом ответе или с помощью инструмента, доступ к которому вы можете получить из меню «Пуск». (У меня уже был SDK, и я интегрировал его, поэтому я не могу доказать, что он не будет работать без него, но в документации сказано, что он нужен для компиляции частей C ++.)

Если вы не возражаете против повторной загрузки, обновленная версия была выпущена 27 января - http://code.msdn.microsoft.com/XP2Win7/Release/ProjectReleases.aspx?ReleaseId=2977. Нет зависимости от SQL, плюс установка x86 и x64.

Kate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...