2016-12-23 4 views
0

Je fais une application uwp sur le périphérique ARM (IotCore), et je veux utiliser une DLL native dans l'application uwp par p/inbvoke.Comment puis-je construire un code dll à ARM avec vs2015

Comment puis-je construire ce projet dll en tant que ARM arch avec visual studio 2015?

Ceci est mon code, et il fonctionne bien sur mon ordinateur de développement x64 (win10x64).

C'est le code dll natif:

#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; 
} 

C'est le code de l'application 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); 
} 

code source complet: https://github.com/HyundongHwang/MyNativeDllUwpIntegApp

Répondre

1

Lors de la création du projet de la DLL, vous devez cible "Windows Universal" au lieu de "Win32". Un tel projet DLL aura une plate-forme ARM dans la liste déroulante de la plate-forme (comme vous avez maintenant Win32 et x64 là-bas).

+0

Vous avez sauvé mes journées! Merci beaucoup. :) J'ai modifié mon code échantillon et je les ai poussés. –