在 C++ WinRT UWP 应用程序中使用现有静态库
Use existing Static library in C++ WinRT UWP app
我有一个现有的第三方静态库,我想在我的项目 C++WinRT UWP 应用中使用它。我可以这样做吗?
我已阅读documentation。但这让我很困惑。
关于“在 UWP 应用程序中使用本机 C++ 静态库”的文档讨论什么是本机 C++ 库?
此外,我没有这个库的源代码。
UWP 的主要限制是库:
(a) 必须使用支持在 WINAPI_PARTITION_APP
中使用的 Win32 导入子集
(b) 它需要使用 VS 2015 Update 3 或更高版本构建才能 'binary compatible' 使用用于 UWP 的现代 Visual C++ 工具。
(c)“AppContainer”安全上下文可能不支持静态库使用的某些 API(即,它们可能会以代码无法妥善处理的方式失败)。
您还应该使用 /NODEFAULTLIB:kernel32.lib
来避免静态库强制导入 non-supported API。 “WindowsApp.lib”伞形库提供了所有受支持的东西。
很有可能,您需要对构建的静态库进行一些修改才能真正 link 成功并最终通过 WACK。
I have an existing third-party static library that I want to use in my project C++WinRT UWP app. Can I do that? Also, I do not have the source code for this library.
是的。您不需要源代码即可使用库。
您可以只使用提供的二进制库(源的最终输出)。它可以作为 a static or dynamic library
包含在最终输出二进制文件中。
How to include that?
参考文档中的某些部分可能对您有帮助third party static library
。
To use a native C++ static library in a UWP project
In the project properties for the UWP project,
choose Configuration Properties > Linker > Input in the left pane.
In the right pane, add the path to the library in the Additional Dependencies property.
For example, for a library in the project that places
its output in <SolutionFolder>\Debug\MyNativeLibrary\MyNativeLibrary.lib,
add the relative path Debug\MyNativeLibrary\MyNativeLibrary.lib.
Add a include statement to reference the header file to your pch.h file (if present),
or in any .cpp file as needed, and start adding code that uses the library.
C++
Copy
#include "..\MyNativeLibrary\MyNativeLibrary.h"
我有一个现有的第三方静态库,我想在我的项目 C++WinRT UWP 应用中使用它。我可以这样做吗?
我已阅读documentation。但这让我很困惑。
关于“在 UWP 应用程序中使用本机 C++ 静态库”的文档讨论什么是本机 C++ 库?
此外,我没有这个库的源代码。
UWP 的主要限制是库:
(a) 必须使用支持在 WINAPI_PARTITION_APP
中使用的 Win32 导入子集(b) 它需要使用 VS 2015 Update 3 或更高版本构建才能 'binary compatible' 使用用于 UWP 的现代 Visual C++ 工具。
(c)“AppContainer”安全上下文可能不支持静态库使用的某些 API(即,它们可能会以代码无法妥善处理的方式失败)。
您还应该使用 /NODEFAULTLIB:kernel32.lib
来避免静态库强制导入 non-supported API。 “WindowsApp.lib”伞形库提供了所有受支持的东西。
很有可能,您需要对构建的静态库进行一些修改才能真正 link 成功并最终通过 WACK。
I have an existing third-party static library that I want to use in my project C++WinRT UWP app. Can I do that? Also, I do not have the source code for this library.
是的。您不需要源代码即可使用库。
您可以只使用提供的二进制库(源的最终输出)。它可以作为 a static or dynamic library
包含在最终输出二进制文件中。
How to include that?
参考文档中的某些部分可能对您有帮助third party static library
。
To use a native C++ static library in a UWP project
In the project properties for the UWP project,
choose Configuration Properties > Linker > Input in the left pane.
In the right pane, add the path to the library in the Additional Dependencies property.
For example, for a library in the project that places
its output in <SolutionFolder>\Debug\MyNativeLibrary\MyNativeLibrary.lib,
add the relative path Debug\MyNativeLibrary\MyNativeLibrary.lib.
Add a include statement to reference the header file to your pch.h file (if present),
or in any .cpp file as needed, and start adding code that uses the library.
C++
Copy
#include "..\MyNativeLibrary\MyNativeLibrary.h"