我正在开发一个使用C ++ RESTAPI的项目。我跟随卡萨布兰卡教程。根据该教程,我使用NuGet包管理器将Casablanca添加到我的C ++控制台应用程序项目中。我正在使用Visual Studio 2015企业版。当我尝试构建我的解决方案' http':具有此名称的命名空间不存在时,我收到错误
' web':具有此名称的命名空间不存在
' web':不是类或命名空间名称
' http':具有此名称的命名空间不存在
' web':不是类或命名空间名称
'客户端':具有此名称的命名空间不存在
'并发':不是类或命名空间名称
' streams':具有此名称的命名空间不存在。 enter image description here ' make_shared':不是' std'
的成员enter code here
// RESTProject.cpp : Defines the entry point for the console application.
//
#include <cpprest/http_client.h>
#include <cpprest/filestream.h>
#include <fstream>
#include <iostream>
#include "stdafx.h"
using namespace std;
using namespace web;
using namespace web::http;
using namespace web::http::client;
using namespace concurrency::streams;
using namespace std;
int main()
{
auto filestream = std::make_shared<concurrency::streams::ostream>();
pplx::task<void> requesttask =concurrency::streams::fstream::open_ostream(U("result.html")).then([=](concurrency::streams::ostream outfile)
{
*filestream = outfile;
// Create http_client to send the request.
http_client client(U("http://www.bing.com/"));
// Build request URI and start the request.
uri_builder builder(U("/search"));
builder.append_query(U("q"), U("cpprestsdk github"));
return client.request(methods::GET, builder.to_string());
});
return 0;
}
答案 0 :(得分:0)
我不得不添加stdio.h include 解决问题
答案 1 :(得分:0)
在文档之后,不建议通过 NuGet 包安装。对于Windows,适当的方法是使用 Vcpkg :
进行安装之后,重新启动VS并尝试创建空项目并添加一些引用,例如:
#include <cpprest/http_client.h>
键入文件路径时,应该自动完成,也可以从上下文菜单中打开此文件。请记住,这可能不适用于在先前版本的VS中创建的现有项目。