zoukankan      html  css  js  c++  java
  • Cocos2d-x移植到WindowsPhone8移植问题-libcurl库移植问题

    在Cocos2d-x 3.x最新版本中提供了Windows Phone 8平台移植libcurl库所需要的头文件和库文件。但要在Windows Phone 8平台成功移植libcurl库还是很不容易,需要费一些周折,我总结了如下几个步骤:
    配置头文件搜索路径
    配置链接环境
    添加动态链接库


    1、配置头文件搜索路径
    整个步骤我们可以参考上一节介绍的rapidjson库移植。具体过程是选中HelloCppComponent工程,打开菜单“项目”→ “属性”弹出工程属性对话框,选择“配置属性”→“C++” →“常规”,在右边的“附加包含目录”中添加$(EngineRoot)externalcurlincludewp8。
    另外,由于我们要移植的工程同时也需要解析JSON数据,因此也需要配置和移植rapidjson库。


    2、配置链接环境
    配置链接环境过程又分成两个步骤:配置附加库目录和配置附加依赖项。配置附加库目录是指定要链接的库文件所在目录,而配置附加依赖项是指定要链接的库文件。
    我们首先看看配置附加库目录。具体过程是选中HelloCppComponent工程,打开菜单“项目”→ “属性”弹出工程属性对话框,如下图所示,选择“配置属性”→“连接器” →“常规”,在右边的“附加包含目录”中添加$(EngineRoot)externalcurlprebuiltwp8$(Platform),注意配置目之间需要用分号分隔开。

     配置附加库目录

    提示 在路径中的$(Platform)宏,它代表arm或win32,arm中的文件是为Windows Phone 8设备调试和部署准备,而win32中的文件是为在PC上运行Windows Phone 8模拟器调试准备的。


    接下来我们配置附加依赖项。打开工程属性对话框,如下图所示,选择“配置属性”→“连接器” →“输入”,在右边窗口的“附加依赖项”,添加内容libcurl.lib。

     配置附加依赖项


    3、添加动态链接库
    上面的两个步骤配置如果没有配置,直接会导致程序无法编译错误。而添加动态链接库如果没有配置,会引起运行期错误,这种错误更加隐蔽。
    这些库文件也是在$(EngineRoot)externalcurlprebuiltwp8$(Platform)目录下面,我们根据运行的平台添加它们。具体步骤是,选中HelloCppComponent工程右键菜单选择“添加”→“现有项”,打开添加项目对话框,如下图所示,找到$(EngineRoot)externalcurlprebuiltwp8$(Platform)实际的目录,选择文件libcurl.dll、libeay32.dll和ssleay32.dll文件,选择好后点击“添加”按钮进行添加。

    添加项目对话框

    添加完成后,我们还需要对这些文件设置属性,如下图所示,选中文件打开属性对话框,将其中的“内容”设置为True,这项设置可以保证文件在编译的时候被复制到运行环境中。请逐一设置这三个动态链接库文件。

     

    设置文件属性

    如果上述三个步骤成功完成,我们就可以运行测试了。libcurl库的移植有很有代表性,它属于有各个平台的头文件和库文件,而没有源文件情况。凡事这种情况我们都可以照此移植。

     
    更多内容请关注国内第一本Cocos2d-x 3.2版本图书《Cocos2d-x实战:C++卷》
    本书交流讨论网站:http://www.cocoagame.net
    更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com
    欢迎加入Cocos2d-x技术讨论群:257760386
    欢迎关注智捷iOS课堂微信公共平台
  • 相关阅读:
    LeetCode 230. 二叉搜索树中第K小的元素
    LeetCode 669. 修剪二叉搜索树
    LeetCode 94. 二叉树的中序遍历
    LeetCode 145. 二叉树的后序遍历
    LeetCode 144. 二叉树的前序遍历
    Not registered via @EnableConfigurationProperties or marked as Spring component
    maven依赖的报错Unable to import maven project: See logs for details
    GDIPlus的使用准备工作
    全局变量替代方案:控制反转,依赖注入
    MFC使用TRACKMOUSEEVENT触发mouseHover和mouseLeave
  • 原文地址:https://www.cnblogs.com/iOS-Blog/p/4127128.html
Copyright © 2011-2022 走看看