1

我已经从官方 MS 站点下载了 Dropbox CPP REST 示例。为了使用 cpprestsdk,我要求 NuGet 下载包。它已经下载了各种工具集的软件包:

在此处输入图像描述

当我构建项目时出现错误:

Severity    Code    Description Project File    Line    Suppression State
Error   C1083   Cannot open include file: 'uri.h': No such file or directory    DropboxApp  d:\code_podurirest0813\dropboxapp\dropboxapp\oAuth.h    30  

uri.h 是库的一部分。我期待 NuGet 在项目中设置包含路径。我期望太多还是可能有其他问题?

UPD

MS Dropbox 示例对将 uri.h 更改为 cpprest\uri.h 不满意。它找不到新的包括它。

由于这个原因,我创建了自己的控制台应用程序并要求 NuGet 下载 cpprestsdk。程序完成后,我发现没有执行自动库和包含路径设置:

在此处输入图像描述

1>  Creating directory "D:\Code_PoduriREST0813\2012\ConsoleApplication1\Debug\".
1>InitializeBuildStatus:
1>  Creating "Debug\ConsoleApplication1.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1>  stdafx.cpp
1>  ConsoleApplication1.cpp
1>d:\code_podurirest0813\2012\consoleapplication1\consoleapplication1\consoleapplication1.cpp(5): fatal error C1083: Cannot open include file: 'cpprest\uri.h': No such file or directory

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

0

我期待 NuGet 在项目中设置包含路径。我期望太多还是可能有其他问题?

不,安装该包后,NuGet 会自动设置头文件和库路径,无需手动添加。但是我们应该仔细考虑如何包含头文件。您会注意到“ ”文件夹中有两个子文件夹“ cpprest”、“pplx” include。所以我们应该使用“ cpprest\uri.h”来包含头文件:

在此处输入图像描述

所以请检查项目中包含头文件的方式。

更新:

我注意到不同之处在于您的 Visual Studio 的版本是 2012(NuGet 的默认版本是 2.8.6),我的 Visual Studio 是 2015(NuGet 的版本是 3.4.4)。然后我在 Visual Studio 2012 和 2013 上测试它,只在 Visual Studio 2012 上失败,不知道为什么旧版本的 NuGet(2.8.6) 不能自动设置库和头路径。但是,我们无法在 Visual Studio 2012 中使用新版本的 NuGet,因此要解决此问题,我们必须手动添加库和头文件的路径,或者您可以将 Visual Studio 更新到 2013 及更高版本。

于 2017-07-04T03:20:06.627 回答