問題タブ [c++-winrt]
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++-winrt - 2018 年 10 月にフォルダーの内容を列挙する方法
StorageFolder メソッド GetFilesAsync を cppwinrt に変換しようとしていますが、過去のコンパイラ リンク エラーを取得できません。概念をテストするための非常に単純なルーチンを次に示します。
問題は、GetFilesAsync の戻り値の型にあるようです。そのために IVectorView などのさまざまなタイプを試しましたが、何も機能しないようです。この列挙が C++/winrt でどのように達成されるかを示すコード例を知っている人はいますか?
[更新] SDK 10.0.17666 および VS 15.9.0 Preview 3 を使用してこのプロジェクトに戻ると、これらの回答から以前に採用されたソリューションが機能しなくなっていることがわかりました。今回は、誰かがアイデアを持っているかどうかを確認するために、必ず完全なエラーを含めます。簡単にするために、IInspectable が提供する単純なコードを使用し、ResourceManager クラスのクラス メンバーにするためだけに変更します。
GetFilesAsync を呼び出すと、次のリンク エラーが生成されるようになりました: 重大度コード 説明 Project File Line Suppression State Error LNK2019 unresolved external symbol "public: struct winrt::Windows::Foundation::IAsyncOperation > __thiscall winrt::impl::consume_Windows_Storage_Search_IStorageFolderQueryOperations::GetFilesAsync (enum winrt::Windows::Storage::Search::CommonFileQuery const &)const " (?GetFilesAsync@?$consume_Windows_Storage_Search_IStorageFolderQueryOperations@UStorageFolder@Storage@Windows@winrt@@@impl@winrt@@QBE?AU?$IAsyncOperation@ U?$IVectorView@UStorageFile@Storage@Windows@winrt@@@Collections@Foundation@Windows@winrt@@@Foundation@Windows@3@ABW4CommonFileQuery@Search@Storage@63@@Z) 関数で参照される "public: struct winrt ::Windows::Foundation::IAsyncAction __thiscall AppEngine::ResourceManager::LoadActivities$_ResumeCoro$2(void)" (?LoadActivities$_ResumeCoro$2@ResourceManager@AppEngine@@QAE?AUIAsyncAction@Foundation@Windows@winrt@@XZ)
(オブジェクトファイルへのパスが続きます)
そのエラーメッセージを解読するのは難しいと認めざるを得ません。おそらく、ここにいる他の誰かがアイデアを持っているでしょうか?最近のシステム更新で変更されたものでなければなりません。
c++-winrt - C++/WinRT では、Windows 10 の Windows Insider Preview ビルドをインストールする必要がありますか?
このC++/WinRT の発表では、「これが意味することは、新しい Windows SDK のリリース後に GitHub を更新するのを待つ必要がないということです。実際、更新されたヘッダーを GitHub で公開することはもうありません。 Windows SDK から直接取得できます。」
ただし、さらに 1 クリック詳しく調べると、「SDK の Windows 10 プレビュー ビルド [は] Windows 10 Insider Preview (ビルド 17025 以降) と組み合わせて使用する」および「オペレーティング システムではないオペレーティング システムへのインストール」であることがわかります。 Windows 10 Insider Preview ビルドはサポートされていないため、失敗する可能性があります。」
現在、Windows 10 の Windows Insider Preview をインストールする必要がありますか? これは、管理者権限に応じて、恐ろしく長いプロセスであるか、まったく不可能です。
または、SDK を入手して、標準の Windows 10 ビルドのボックスで C++/WinRT ビットを使用できますか?
C++/WinRT ツールチェーンのいくつかの側面の最も簡単なルートは、まだ GitHub ですか?
Windows 7 など、Windows 10 以外のボックスで開発している場合はどうですか? 無数の商用開発者がこの状況にあり、制御できていません。
状況は変わりますか?
今後は、SDK プレビューの定期的な更新を待ちますか? もしそうなら、どのようにそれらを消費しますか?