PhotoView Windows 7参考应用程序

时间:2009-08-28 00:52:07

标签: windows windows-7

我使用源代码下载了Win7的PhotoView reference app。该应用程序有效,但我无法建立项目。

解决方案中有一个不会构建的ServiceControlInterop C ++项目。我发现它需要我下载的Win7 SDK,但现在我已经获得了正确的winsvc.h引用了一大堆新的错误。我远不是一个熟练的C ++开发人员,所以我希望这个列表能够为一些C ++专家提供一些明显的东西:

更新:anelson完全正确,添加这些路径允许我编译ServiceControlInterop项目。

对于那些感兴趣的人,你还需要UACHelpers项目和Microsoft.KtmIntegration类来获得编译的整个解决方案,这是一个非常野兽。将UACHelpers项目添加到解决方案并为Microsoft.KtmIntegration类创建一个新项目(链接到MSDN上的代码列表......我认为它必须是他们忘记包含在PhotoView源中的支持类。)< / p>

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 个答案:

答案 0 :(得分:2)

我认为你的意思是this sample。您肯定需要Windows 7 SDK,因为您已经想到了。但是您需要设置include和lib路径以指向Windows 7 SDK。

在Visual Studio 2k8中,转到“工具”|选项,然后在树中单击“项目和解决方案”| VC ++目录。

两种体系结构的include目录应该是:

Include directories
(来源:flickr.com

您的图书馆目录应为:

Library directories
(来源:flickr.com

(注意:这是针对x64。对于x86,从路径末尾删除'x64'

更新:忘记提及在更改包含路径后,如果已经使用缺少的头文件生成预编译头文件,则可能需要对项目进行重建。

答案 1 :(得分:0)

对于x64,如果您下载了x86安装,最好的办法就是进行32位构建。使用配置管理器切换到x86,重建,所需的所有引用等都在那里。没有跳过篮球找到KtmIntegration,UacHelper等。您可能确实需要SDK并将其集成到VS - 或者如其他答案中所述,或者使用您可以从“开始”菜单访问的工具。 (我已经有了SDK并且已经集成了它,所以我不能证明它没有它就行不通,但文档说你需要它来编译C ++部分。)

如果您不介意重新下载,则更新版本于1月27日发布 - http://code.msdn.microsoft.com/XP2Win7/Release/ProjectReleases.aspx?ReleaseId=2977。没有SQL依赖,加上x86和x64安装。

凯特