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

时间:2013-06-20 01:29:46

标签: windows-phone-8 runtime components static-libraries dynamic-library

在阅读WP8 C++ project template时,我看到了

Windows Phone空动态链接库

  

用于为Windows创建本机动态链接库的项目   手机应用

Windows Phone空静态库

  

用于为Windows Phone创建本机静态库的项目   应用

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

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

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

1 个答案:

答案 0 :(得分:0)

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

对于WP8应用程序,您需要生成:

  1. XAML .NET / Windows运行时混合应用程序。
  2. DirectX C ++ / C项目(通常是游戏)。
  3. 对于1.您需要在WP8运行时组件中包含静态.lib.dll,以供.NET端使用。

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

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

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