none
WindowsとAndroidの共通ライブラリの作成

    質問

  • いつもお世話になっております。

    WindowsとAndroidの共通ライブラリをVisualStudio2015、C++で作成しようとしています。

    「https://msdn.microsoft.com/library/dn771552.aspx」に以下の記載があります。

    「静的または動的な共有ライブラリを作成して、Android および Windows デバイス間で C++ コードを共有することができます。」

    その直後の画面キャプチャにある「ダイナミック共有ライブラ・・・」のプロジェクトテンプレートを利用すれば、WindowsとAndroidの共通ライブラリが作成

    できるのかと思うのですが、しかし実際には、該当のテンプレートは、VisualStudio2015では表示されずオンラインにもありませんでした。

    そこで、「Android,ios」または「Windows」のライブラリテンプレートを利用して作成しようとしましたが、それぞれのプラットフォームに依存するエラー

    ※例えば、Windowsのプロジェクトから、共有プロジェクトを参照すると以下のようなエラー

    「C1010 unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?」

    が表示されたりしてうまくいきません。

    そもそも「WindowsとAndroidの共通ライブラリをVisualStudio2015、C++で作成する」基本的な手順または、具体的な情報のある

    参照ページをご教示いただけないでしょうか。

    よろしくお願いします。


    2018年2月4日 0:28

すべての返信

  • 確認ですが、仮にWindowsとAndroidの共通ライブラリがC++で作成できたとして、アプリケーション、特にAndroidアプリから共通ライブラリを呼び出し可能なことは確認できていますでしょうか? 呼び出し不可能もしくは呼び出し方法が不明ではC++で作成しても何の役にも立たないわけですが。
    2018年2月4日 1:18
  • ご返信ありがとうございます。

    >アプリケーション、特にAndroidアプリから共通ライブラリを呼び出し可能なことは確認できていますでしょうか? 

    →既存のWindowsのDLLのC++ソース(DLL)をAndroidでも利用できるようにするための方法を検討しています。

     既存なのでWindowsでは呼び出してきています。

     Andoroidでは、そのファイルを必要に応じて修正しSOのライブラリにしてJava、JNIで呼び出す予定ですが、ソースの修正ができない状態ですので呼び出せていません。

    既存のソースではないですが、C++のSOライブラリとJNIの呼び出しは基本的なレベルの確認はできていますのでAndoroidからも同様に呼び出せるものと考えています。

    2018年2月4日 1:33
  • ご質問の URL に「最初に、Visual C++ for Cross-Platform Mobile Development ツールをインストールします。」と明記されていました。

    下記のサイトによりますと、Visual C++ for Cross-Platform Mobile Development は Visual Studio 2015 (Update 2 以降) のインストールのオプションに含まれているとのことです。まずはツールをインストールしてみてはいかがでしょうか?

    https://docs.microsoft.com/ja-jp/visualstudio/cross-platform/install-visual-cpp-for-cross-platform-mobile-development

    また、下記のサイトでは「クロス プラットフォーム モバイル開発の例」としていくつかサンプルが掲載されていました。参考になりますでしょうか?

    https://docs.microsoft.com/ja-jp/visualstudio/cross-platform/cross-platform-mobile-development-examples

    2018年2月6日 1:29
  • ご返信ありがとうございます。

    ツールはインストール済みで、サンプルも確認しています。Androidとiosでのクロスプラットフォームが主になっていて

    WindowsとAndroidでは、上述のとおり適用できそうなテンプレートがありませんでした。

    今は、

    ・Win32コンソールアプリ(プリコンパイルヘッダー含めない)

    ・Android用のクロスプラットフォーム

    ・SharedItem

    のプロジェクト構成で、上手くできないか検討しています。

    2018年2月6日 14:59