2016-12-23 5 views
0

Я создаю некоторое приложение uwp на устройстве ARM (IotCore), и я хочу использовать некоторые устаревшие DLL-файлы в приложении uwp с помощью p/inbvoke.Как я могу создать некоторый код dll для ARM с помощью vs2015

Как я могу построить этот проект dll как ARM-арку с визуальной студией 2015?

Это мой код, и он отлично работает на моей машине для x64 (win10x64).

Это нативный код длл:

#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, необходимо целевой «Windows Universal» вместо «Win32». Такой проект DLL будет иметь платформу ARM в платформе, которая выпадет (например, у вас теперь есть Win32 и x64).

+0

Вы спасли мои дни! Большое спасибо. :) Я изменил свой пример кода и нажал их. –