2016-10-08 9 views
0

みんな!私は現在、新しいクロスプラットフォームアプリケーション(iOS、Android、UWP)に取り組んでいます。私は、OpenGLのためのフリー・グラットを使って、C++で書かれたUI用のグラフィカル・ライブラリを持っています。 問題は、UWPアプリケーションでこのライブラリを使用する方法がわかりません。私はOpenGLのすべてのラッパーに関する多くの情報を読んだことがありますが、それらはすべてWPF用かC++で書かれています。私もMicrosoft ANGLE Projectについて知っていますが、C++でも書かれていますが、C#言語でアプリケーションを書く必要があります。マイクロソフトアングルfor uwp

フリーグループを除外して自分のライブラリを変更し、それをC#アプリケーションにインポートするにはどうすればよいですか?

ところで、私の英語で間違って申し訳ありません。

答えて

0

UWPアプリケーションでレガシーC++アセンブリを使用したいのですか?

Windowsランタイムコンポーネント(ユニバーサルWindows)プロジェクトを作成してアセンブリを含めることができます。また、公開するAPIの数はすべてDllImportという印を付けて宣言する必要があります。

最終的に、このWinRTコンポーネントはPlatform Invokeを実行し、従来のコードとUWPアプリケーションの間の「ラッパー」レイヤーとして機能します。

それはあなたがWinRTのコンポーネント、C++やC#、いずれかの方法で使用する言語あなたの好み次第です、あなたは、構造体/タイプを心配する必要はmashalling and unmashalling.

あなたが上記に終わった後、あなたはなるだろうUWPアプリケーションでWinRTコンポーネントを参照し、そのアセンブリで宣言したAPIを呼び出すことができます。

同様に、Microsoft Angleプロジェクトでも同じように動作します。

このpostが役に立ちます。

最後の言葉は、禁止されたAPIの使用を避けたい場合があります。そうしないと、UWPアプリはWindows Store認定を通過しません。

0

https://msdn.microsoft.com/library/windows/desktop/jj714080.aspxによるDirectXとこれはあなたに任意のネイティブDLLを使用する能力を与える必要がありhttps://msdn.microsoft.com/library/windows/desktop/jj714080.aspx のLoadLibraryとGetProcAddressなどの機能を含むいくつかのネイティブAPI関数を使用するオプションがあります。 RuntimeComponentプロジェクトを作成してそこに置くことができます。また、clr oldsyntaxオプションを使用してネイティブコードをそのまま使用することもできます。