问题标签 [casablanca]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9030 浏览

c++ - 卡萨布兰卡:Linux centos 上的汇编错误 gcc 4.8.1

我正在尝试建造casablanca,就像他们在页面上所说的那样。因为我已经gcc-4.8.1安装了 using CXX=gcc-4.8is not ok,所以我删除了它只是:

它创建文件,当我这样做时,make我收到这些错误:

有没有人遇到过这个问题?是因为gcc4.8.1吗?如何解决?

0 投票
1 回答
91 浏览

c++ - 使用 TeamCity 的 NuGet 用于 2 个解决方案共享的项目 - .h 文件未找到

NuGet之前的环境(简化):

  • 一个项目由 2 个解决方案(sol1 和 sol2)共享。
  • 这两种解决方案均由 TeamCity 成功构建。

添加 NuGet

  • 在 sol1 中,我向项目添加了一个包(Casablanca 的 C++ REST API)。
  • 在我添加的项目的 .c 文件之一中#include <cpprest/json.h>
  • 在这两种解决方案中,如果已启用NuGet package restoration.

结果

  • 在本地,这两种解决方案仍然可以成功构建。
  • Sol1 也在 TeamCity 上成功构建。
  • Sol2 未能在 TeamCity 上构建,因为cpprest/json.h file can't be found在尝试编译 .c 文件时出现错误。
  • 注意:在 TeamCity 上构建 sol2 期间,我看到包已成功下载并安装。

什么会导致 Sol2 无法找到包含的 json.h 文件?

0 投票
0 回答
178 浏览

c++11 - 在 PPL Casablanca 中并行执行 http_client 请求?

背景:我有一个简单的 C++11 应用程序,它使用wxWidgets wxListView来显示客户的街道地址。目标是通过实现该服务的 Web 服务从地址(地理编码)获取 GPS 坐标。我能够通过 PPL Casablanca 获得单个地址的 Web 服务响应(以某种方式进行改进)——请参阅我之前的问题中的代码。

问题: PPL Casablanca 并行启动多个异步请求是否有意义?拥有多个处理器内核,是否会加快获得结果的速度?(Web 服务可能是为并行处理许多请求而构建的。)如何使用 PPL Casablanca 编写它?

我擅长 C++,但我只是在学习 C++11 的特性,包括 lambda。对我来说最大的不同是方法——延续、异步任务等——以及如何正确有效地使用它。

0 投票
2 回答
257 浏览

c++ - C++:不了解对象破坏规则

以下 C++ 代码片段使用 Microsoft 的 C++ Rest SDK。我不明白为什么第一个片段有效而其他片段无效。我假设差异是由于对象破坏和范围规则造成的。我正在寻找关于为什么第一个片段有效而其他片段挂在 close() 上的解释。此外,SDK 可以做些什么来消除未来的错误。一些非常聪明的人看了片段,但从来没有看到问题。

第一个代码片段。该片段有效并完整显示。随后的代码片段替换其中的标记代码。请关注差异而不是其他干扰。通过在浏览器中发出单个 GET 请求并单步执行代码来测试代码。在所有情况下, request.reply() 只执行一次。

第二个代码片段。挂在 close() 上。

第三个代码片段。挂在 close() 上。

第四代码片段。挂在 close() 上。外大括号没有区别。

更新:支持 Matt McNabb 的解释,如果我只发出一个 GET,则以下代码有效。我只是删除了循环来处理单个 GET。为了避免挂起,需要显式调用析构函数,但这是不正确的做法。

更新:循环后的显式析构函数调用使程序为单个 GET 工作。但是,两个或更多 GET 会引发异常。我不确定为什么。

0 投票
0 回答
267 浏览

c++ - 卡萨布兰卡网络服务器出现看似随机的错误

我正在使用Casablanca REST SDK 来制作网络服务。Web 服务让客户端通过 URL 传递 JSON 并对其进行处理。但是在某些情况下,如果我发送包含数组的 JSON,它会使服务崩溃。奇怪的部分是实际处理 JSON 的处理程序方法一直运行并在给出错误之前结束。我的主要功能是:

我在handle_get函数中放置了两个打印件:“处理程序的开始”和“处理程序的结束”,它们都被打印了,让我相信错误的原因与监听器的while循环有关,但是它给出的错误与侦听器无关:

我试图围绕听众可能返回该错误的内容。

0 投票
1 回答
1170 浏览

c++ - 如何包装 C++11 回调?

我正在使用Casablanca C++ Rest SDK进行 http 连接。这是发出 http 请求的基本代码。

从卡萨布兰卡文档复制:

这将执行异步请求并在完成后执行回调。我需要创建自己的类来使用这些代码,并且我想将它包装到我自己的回调中。

为简单起见,假设我想创建一个类,该类具有打印 google.com 的 html 代码的方法。

所以我期待这样的事情:

我搜索并阅读了相关文章,例如:

  1. C++类成员回调简单例子
  2. C++11 风格的回调?
  3. 周五问答 2011-06-03:Objective-C 块与 C++0x Lambda:战斗!

但是当我习惯了completion blockin 时,我仍然有点困惑Objective-C。如何构造这样一个包装回调的类?

0 投票
1 回答
337 浏览

c++ - 在 Visual Studio 上使用 Json 和表单

在 Visual Studio 上创建表单时,公共语言 RunTime Support 更改为 /clr,但是当我添加 json 的库时,出现以下错误:

使用 /clr 或 /clr:pure 编译时不支持

如果我从 /clr 更改为no common languages,那么我会从我正在使用的命名空间中得到很多错误。

关于如何混合这两种东西的任何想法?

我正在使用 C++ Rest SDK(代号“Casablanca”)来解析 json。

0 投票
1 回答
524 浏览

c++builder - Casablanca - REST C++ SDK,用于 Embarcadero RAD Studio XE5

我需要在 RAD Studio XE5 C++ 中进行 http 获取。RAD Studio 站点上的教程讨论了我拥有的版本中不包含的 RESTCLient。我找到了专门用于 Visual Studio 的 Casablanca 项目,并且我在 VS 中编写了一个小程序,它执行简单的 http get 并以我需要的方式处理响应。

我需要做什么才能在 RAD Studio 中成功使用 Casablanca?

到目前为止,我已经采取了一些步骤。

  1. 在 Visual Studio 2013 中编译 Casablanca
  2. 将 .lib 和 .dll 复制到 RAD Studio 项目中的文件夹
  3. 将该文件夹添加到 RAD Studio 项目中的链接路径
  4. 将 .lib 添加到项目中
  5. 将 dll 导入添加到应该在 .lib 中的类到我想要使用该函数的 .cpp 中。


  1. 出现 OMF 错误,我使用 RAD Studio 附带的工具来转换 .lib,从而克服了错误。

我不知道如何声明函数的 dll 原型,因为返回类型来自库本身的命名空间,因此无法识别。http_client 是一个无法识别的结构。

我也试过了,没有 class 关键字。

0 投票
1 回答
87 浏览

c++ - 从 cpprest lambda 表达式访问自动变量

假设我有:

这能保证工作吗?我的逻辑说不,因为到任务运行时someObject可能超出范围。

0 投票
1 回答
975 浏览

c++ - 将 Casablanca REST 添加到 Qt-Creator

我正在尝试将 Casablanca 添加到 Linux 上的 C++/Qt-Creator 项目中,以使用一些 Rest-Services。但是编译器总是说“找不到'cpprest/http_client.h'文件”。

卡萨布兰卡建造没有问题,测试也运行良好。

我尝试使用“添加库向导”将库添加为外部库。.pro 文件现在包含:

如果有人可以帮助我,我会很高兴。