簡體   English   中英

在UWP項目中引用本機C ++ dll

[英]Reference native c++ dll in UWP project

我有一個要在正在處理的UWP項目中使用的C ++ dll。 我需要一些助手來實現這一目標。

C ++沒有“引用DLL”的概念。 使用它們所需要做的就是確保在構建應用程序時將它們復制到可執行文件旁邊。 如果您使用的是Visual Studio C#項目(.csproj),則將其添加為“內容”類型:

<ItemGroup Condition="'$(Platform)' == 'x86'">
  <Content Include="$(ProjectDir)MyDLL\x86\MyDLL.dll">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>
<ItemGroup Condition="'$(Platform)' == 'x64'">
  <Content Include="$(ProjectDir)MyDLL\x64\MyDLL.dll">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>

一旦完成此設置,僅需P / Invoking即可,例如:

[DllImport("MyDLL.dll")]
void DoStuff();

通用Windows應用程序在受限的運行時環境中運行,因此,您不能像在經典Windows桌面應用程序中那樣僅使用任何本機DLL。 如果您具有DLL的源代碼,則可以移植代碼,使其在UWP上運行。 首先,更改一些項目設置和項目文件元數據,以將項目標識為UWP項目。 您需要使用/ ZW選項編譯庫代碼,該選項啟用C ++ / CX。 由於與該環境相關聯的更嚴格的控制,UWP應用程序中不允許某些API調用。 請參閱適用於UWP應用程序的Win32和COM API。

如果您的本機DLL使用__declspec(dllexport)公開函數,則可以按照在UWP App中使用Win32 DLL的過程進行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM