2016-12-23 11 views
0

ARMデバイス(IotCore)上でuwpアプリケーションを作っていて、p/inbvokeによってuwpアプリでレガシーネイティブDLLを使いたいです。vs2015でARMにいくつかのdllコードをビルドするにはどうすればいいですか?

Visual Studio 2015でこのdllプロジェクトをARM archとしてビルドするにはどうすればよいですか?

これは私のコードで、x64マシン(win10x64)でうまく動作します。

これは、ネイティブDLLコードです:

#ifdef MYSIMPLENATIVEDLL_EXPORTS 
#define MYSIMPLENATIVEDLL_API extern "C" __declspec(dllexport) 
#else 
#define MYSIMPLENATIVEDLL_API extern "C" __declspec(dllimport) 
#endif 

MYSIMPLENATIVEDLL_API int Add(int x, int y); 

MYSIMPLENATIVEDLL_API int Add(int x, int y) 
{ 
    return x + y; 
} 

これは、UWPアプリのコードです:

public sealed partial class MainPage : Page 
{ 
    public MainPage() 
    { 
     this.InitializeComponent(); 
    } 

    protected override async void OnNavigatedTo(NavigationEventArgs e) 
    { 
     base.OnNavigatedTo(e); 

     var result = Add(1, 2); 
     var dlg = new MessageDialog($"result : {result}"); 
     await dlg.ShowAsync(); 
    } 

    [DllImport("MySimpleNativeDll")] 
    static extern int Add(int x, int y); 
} 

完全なソースコード:https://github.com/HyundongHwang/MyNativeDllUwpIntegApp

答えて

1

DLL用のプロジェクトを作成するときに、あなたがする必要があります"Win32"の代わりに "Windows Universal"をターゲットにしてください。このようなDLLプロジェクトは、プラットフォームのドロップダウンでARMプラットフォームを持つようになります(Win32とx64があるようです)。

+0

あなたは私の日を救った!どうもありがとうございました。 :) 私のサンプルコードを変更し、それらを押します。 –

関連する問題