问题标签 [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.
c++ - 使用 OneDrive Rest API 进行块下载
这是我第一次在 StackOverflow 上写作。我的问题如下。
我正在尝试基于 cpprest sdk CasaBlanca 项目编写 OneDrive C++ API:
https://casablanca.codeplex.com/
特别是,我目前正在对 OneDrive 文件执行读取操作。
实际上,我已经能够使用以下代码下载整个文件:
这段代码基本上是在计算机上下载整个文件(file_id 是我要下载的文件的 id)。当然,我可以从文件中提取输入流并使用它来读取文件。
但是,如果文件很大,这可能会给我带来问题。我的想法是在调用者读取文件时下载文件的一部分(如果他回来,则缓存该部分)。
那么,我的问题是:
是否可以使用 OneDrive REST + cpprest 下载存储在 OneDrive 上的文件的一部分。我发现分块上传文件似乎显然是不可能的(OneDrive 的分块上传(可恢复上传)?)。下载也是如此吗?
提前感谢您的宝贵时间。
此致,
朱塞佩
c++ - 调试 C++ 链接器错误
首先,我将提供有关我遇到的问题的具体细节,然后我将介绍我在尝试调试问题时从 nm 获得的有趣结果。希望纳米大师能够解释这些结果。
我已将 Casablanca C++ REST SDK 静态编译到库 libcpprest.a。这很好用,但是当我使用以下命令链接我的代码时:
我得到错误:
似乎 _extract_json(bool) 是在 http_msg.cpp 中定义的,当我查看制作 libcpprest.a 的详细输出时,它似乎也已编译。现在,运行 nm -e --demangle libcpprest.a 我得到以下两行(由数千行分隔):
我是使用 nm 的新手,但在我看来 _extract_json(bool) 既在代码部分中,也在未定义符号列表中。有没有更好的方法来解释 nm 结果?
顺便说一句,当我将 cpprest 编译为动态库并链接到它时,一切正常,但由于各种原因,我必须创建 dcodr_service 的静态二进制文件。
编辑:跟进来自πάντα ῥεῖ的评论,_extract_json(bool) 在以下上下文中使用:
也就是说,它在 lambda 函数中使用。这会导致链接器错误吗?
c++ - 复制和粘贴 .so 文件不适用于链接器
我在我的主目录中编译并构建了 casablanca c++ rest 库,我的必要 .so 文件的绝对路径是 .so 文件/home/dev/casablanca/Release/build.release/Binaries/libcpprest.so
。我想要做的是简单地cp
将 .so 文件传递/usr/lib/..
到默认 lib 搜索的路径,../
以便我可以轻松地将其与以下命令链接:
编译得很好,但是当我运行 ./a.out 时,我得到了典型的运行时错误:
即使在将 libcpprest.so 的默认路径添加到 LD_LIBRARY_PATH 之后。
但是,如果我将最初创建二进制文件的目录链接到:
我猜我不能简单地将 .so 对象移动到我想添加它的原因是编译器以某种方式保持对它的引用。如何将此二进制文件安装在不同的路径中?
c++ - 使用 VS2013 express 在 windows 8.1 上构建 cpprest (Casablanca)
我正在尝试构建 sdk 但无济于事。我的目标是按照此处的说明构建库的静态版本: How to statically link the CPP REST SDK,但我什至没有进入静态部分,项目的构建按原样失败。
这是我所做的:
- 克隆了回购
- 运行 setup_ps_env_VS2013.ps1 (不确定是否有必要)
- 使用VS2013 express打开casablanca120.desktop.sln
运行构建解决方案
编译似乎工作,但链接失败:错误 LNK1104:无法打开文件 'MY_WORSPACE\cpprest\Binaries\Win32\Debug\cpprest120d_xp_2_2.lib'
MY_WORSPACE\cpprest\Release\samples\BingRequest\BingRequest120.xp\LINK BingRequest120.xp
我根本没有尝试为 XP 构建它,所以我尝试了同样的方法,但使用 casablanca120.WinRT.sln 解决方案,当我尝试构建时,我得到:
任何想法我做错了什么?
c++ - C ++ casablanca vs Mozilla NSPR vs Facebook 愚蠢
有没有人评估这些库作为跨平台库的优缺点?
我了解 NSPR 非常古老且稳定,但它与 Microsoft Casablanca C++ rest SDK 和 Facebook 的愚蠢相比如何。
Microsoft Casablanca 能够在 iOS 和 Android 上运行。
但是,如果我正在寻找仅支持 OSX、Linux 和 Windows 的产品,我应该选择哪一个,为什么?
还有其他我应该看的跨平台库吗?
android - Android 上的卡萨布兰卡链接器错误
我按照此处的说明为 Android 构建了 casablanca:How to build and setup for Android on Linux (2.3+)。
我将已编译的库移动到我的 Android 项目中,并按照此处的说明链接了依赖于 casablanca 的模块:如何在 Android (2.3+) 上使用 C++ REST SDK。
但是,我收到多个链接器错误。
例如,当尝试使用
我明白了,
当尝试使用
我明白了,
我正在用 clang 编译我的 Android 项目。
我在 Linux-64 VM 上构建,我的 Android 项目在 Windows-64 机器上。但是,当尝试在 Linux 上为 Android 构建 casablanca 共享库时,我也遇到了多个链接器错误。
我怀疑有些代码是用 libstdc++ 编译的,有些是用 libc++ 编译的。通过查看构建脚本,我可以看到 clang 被用于 boost 和 casablanca,但我也看到包含指向 gcc 标头的路径。我也很好奇为什么我在链接器输出(在 Windows 上)上看到 /sources/cxx-stl/gnu-libstdc++/4.8/include/ 与我的 Linux VM 路径的引用。
任何有关如何让 casablanca 在 Android 上正确链接的见解将不胜感激。
谢谢。
(我在这里发布了同样的问题。)
c++ - 如何在 Casablanca REST API 中检索授权标头
我有以下功能来检查授权标头。
目前我已经放入了一个临时令牌,只是为了测试,虽然我可以看到如何检查 Authorization 标头是否存在 - 目前尚不清楚如何检索该标头的值。
任何人都知道如何使用 Casablanca REST API 来检索标头。
c++ - 使用 C++ REST SDK Casablanca 发送 HTTP POST 请求以更新文件内容
我正在尝试使用 C++ rest sdk 更新露天服务器中文件的内容。我正在使用 alfresco CMIS url 发送请求。更具体地说,它是 Alfresco CMIS 浏览器绑定。我必须坚持浏览器绑定而不是原子绑定。
当我发送请求时,它总是更新文件的版本而不是内容。我正在发送请求正文中的内容。下面是我的代码
如果我将 cmisaction 更改为 createDocument,则相同的代码可用于上传新文件。请给我一个解决方案,通过 C++ rest SDK 更新驻留在 alfresco 中的文件的内容
c++ - 在 Windows 服务器上使用 casablanca
casablanca c++ Rest API 是否支持 windows 服务器作为平台?
http://casablanca.codeplex.com/documentation
我在文档中没有看到它。
有没有人试过这个?
c++ - 在同一个 Visual Studio 解决方案中使用 \MDd 和 \MTd?
我有一个庞大的预先存在的代码库,这取决于许多都使用 \MTd 作为运行时设置的外部库。此代码库在此配置中稳定且经过良好测试。我希望保持原样。
我正在尝试将一个新的外部库集成到代码库中(如果重要的是 Casablanca REST SDK),但我刚刚发现它似乎需要与 \MDd 设置一起使用。当我发现这个问题时,我在 std:shared_ptr 深处遇到了一些奇怪的无法追踪的错误。当我将我的孤立项目更改为使用 \MDd casablanca 时效果更好。
Visual Studio 似乎不允许我有不同的设置,它似乎是一个解决方案中的全部或全部内容?
有谁知道解决这种情况的好方法?有什么建议么?我什至不知道该把注意力集中在哪里?1) 我可以伪造 Visual Studio 并同时使用吗?如果是这样,我真的应该这样做吗?2)或者我应该尝试获得一个工作的卡萨布兰卡静态库?在讨论论坛上似乎不可能?3) 还是我应该硬着头皮把整个解决方案移到 \MDd?4)最后,我应该减少损失并尝试不同的客户端服务器框架吗?快速搜索显示我可以使用 Boost Asio、Google Client API、WinSock 的 windows c++ 客户端服务器解决方案?
这是我的第一个客户端服务器实现,非常欢迎提出意见。