問題タブ [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 から得られる興味深い結果について説明します。nm の第一人者がこれらの結果を解釈できることを願っています。
カサブランカ C++ REST SDK をライブラリ libcpprest.a に静的にコンパイルしました。それはうまくいきますが、次のコマンドを使用して自分のコードにリンクすると:
エラーが発生します:
_extract_json(bool) は http_msg.cpp で定義されているようです。これは、libcpprest.a を作成した詳細な出力を見ると、コンパイルされているようにも見えます。ここで、 nm -e --demangle libcpprest.a を実行すると、次の 2 行が表示されます (何千もの行で区切られています)。
私は nm を初めて使用しますが、_extract_json(bool) がコード セクションと未定義シンボルのリストの両方にあるように見えます。nm の結果を解釈するより良い方法はありますか?
余談ですが、cpprest を動的ライブラリとしてコンパイルしてリンクすると、すべて正常に動作しますが、さまざまな理由で dcodr_service の静的バイナリを作成する必要があります。
編集: πάντα ῥεῖからのコメントをフォローアップすると、 _extract_json(bool) は次のコンテキストで使用されます。
つまり、ラムダ関数内で使用されます。それはリンカーエラーを引き起こす可能性がありますか?
c++ - リンカーで .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++ カサブランカ vs Mozilla NSPR vs Facebook の愚かさ
これらのライブラリの長所と短所をクロスプラットフォーム ライブラリとして評価した人はいますか?
NSPR が非常に古くて安定していることは理解していますが、Microsoft Casablanca C++ rest SDK や Facebook の愚行と比べてどうでしょうか。
Microsoft Casablanca は、iOS および Android で実行できます。
しかし、OSX、Linux、および Windows のみをサポートすることを探している場合、どれを使用する必要がありますか?また、その理由は?
私が見るべき他のクロスプラットフォームライブラリはありますか?
android - Android でのカサブランカ リンカー エラー
ここの手順に従って Android 用のカサブランカをビルドしました: How to build and setup for Android on Linux (2.3+)。
コンパイルしたライブラリを Android プロジェクトに移動し、次の手順に従って casablanca に依存するモジュールをリンクしました: How to use the C++ REST SDK on Android (2.3+)。
ただし、複数のリンカ エラーが発生します。
たとえば、使用しようとすると
私は、
そして使おうとすると
私は、
Android プロジェクトを clang でコンパイルしています。
私は Linux-64 VM で構築し、私の Android プロジェクトは Windows-64 マシン上にあります。ただし、Linux で Android 用の casablanca の共有ライブラリをビルドしようとすると、複数のリンカー エラーも発生しました。
libstdc++ でコンパイルされたコードと libc++ でコンパイルされたコードがあると思われます。ビルド スクリプトを見ると、clang がブーストとカサブランカの両方に使用されていることがわかりますが、gcc ヘッダーを指すインクルード パスも確認できます。Linux VM パスで /sources/cxx-stl/gnu-libstdc++/4.8/include/ への参照がリンカー出力 (Windows の場合) に表示される理由についても興味があります。
Android でカサブランカを適切にリンクする方法についての洞察をいただければ幸いです。
ありがとう。
(私はこの同じ質問をここに投稿しました。)
c++ - C++ REST SDK カサブランカを使用してファイル コンテンツを更新するための HTTP POST 要求を送信する
C++ rest SDK を使用して、屋外サーバーのファイルの内容を更新しようとしています。Alfresco CMIS url を使用してリクエストを送信しています。より具体的には、Alfresco CMIS ブラウザー バインディングです。Atom バインディングではなく、ブラウザー バインディングに固執する必要があります。
リクエストを送信すると、コンテンツではなくファイルのバージョンが常に更新されます。リクエスト本文の内容を送信しています。以下は私のコードです
cmisaction を createDocument に変更すると、同じコードで新しいファイルをアップロードできます。Alfresco にあるファイルの内容を C++ rest SDK を介して更新する解決策を教えてください。
c++ - Windows サーバーでカサブランカを使用する
casablanca c++ Rest API は Windows サーバーをプラットフォームとしてサポートしていますか?
http://casablanca.codeplex.com/documentation
ドキュメントには表示されません。
誰もこれを試しましたか?