0

当阅读WP8 C++ project template,我看到静态库和动态链接库对WP8意味着什么?

的Windows Phone空的动态链接库

一个项目为Windows Phone应用程序创建一个本地的动态链接库。

Windows Phone的空静态库

一种为Windows Phone的应用程序 创建本机静态库项目。

什么是静态库和动态链接库意味着WP8?

假设我有我的Windows库资源(例如openssl),是否需要将WP8静态库转换为WP8应用程序才能使用?

无论我使用WP8静态还是动态链接库,我都必须将它们包装在WP8运行时组件中,以便我的应用程序消耗,对吗?

回答

0

在基本级别上,静态和动态库与其他任何Windows环境相同(所以请参见this other SO question for more clarification)。

对于WP8应用程序,你要么需要生产:

  1. 一个XAML .NET/Windows运行时的混合应用。
  2. DirectX C++/C项目(通常是一款游戏)。

对于1,你需要包裹或者您的静态在WP8运行时组件.lib.dll,为您的.NET方消费。

对于2.它看起来像你最终建立一个传统的.exe。在这种情况下,您将以正常方式直接链接到您的.lib.dll。 (我对这个不太熟悉,所以可能会错过这里的一些微妙之处)。

在任何情况下,如果您拥有VS中的所有源代码并引用您需要的.lib.dll的项目,而不是引用二进制文件本身,则更容易链接所有内容。

通过这种方式,您可以确保所有代码的构建目标是正确的运行时环境(使用正确的CPU架构来定位Phone API)。此外,VS应该自动将所有依赖关系添加到最终的XAP包中。

+0

你创建了一个WP静态库吗?我创建和构建,但输出不包含.lib – onmyway133

+1

我有 - 我刚刚尝试使用C++“Windows Phone空静态库”项目。它在Debug目录中生成一个PhoneLib1.lib。构建输出窗口甚至会说明它正在发生什么(VS Pro)。 –