【问题标题】:What does static library and dynamic link library mean to WP8?静态库和动态链接库对 WP8 意味着什么?
【发布时间】:2013-06-20 18:23:38
【问题描述】:

当我读到WP8 C++ project template 时,我明白了

Windows Phone 空动态链接库

为 Windows 创建本地动态链接库的项目 电话应用。

Windows Phone 空静态库

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

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

假设我有我的 Windows 库源(例如 openssl),是否需要转换为 WP8 静态库以供 WP8 应用使用?

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    对于 1. 您需要将静态 .lib.dll 包装在 WP8 运行时组件中,以供您的 .NET 端使用。

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

    无论如何,如果您在 VS 中拥有所有源代码并引用构建您需要的 .lib.dll 的项目,而不是引用二进制文件本身,那么链接所有内容会更容易。

    这样,您可以确保所有代码都针对正确的运行时环境构建(以电话 API 为目标,使用正确的 CPU 架构)。此外,VS 应该会自动将所有依赖项添加到最终的 XAP 包中。

    【讨论】:

    • 你创建了 WP 静态库吗?我创建并构建,但输出不包含 .lib
    • 我有 - 我刚刚再次尝试使用 C++“Windows Phone 空静态库”项目。它会在 Debug 目录中生成一个 PhoneLib1.lib。构建输出窗口甚至会显示它在哪里(VS Pro)。
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 2011-03-16
    • 2016-12-18
    • 1970-01-01
    • 2010-09-23
    • 2010-09-15
    • 1970-01-01
    相关资源
    最近更新 更多