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课堂微信公共平台
  • 相关阅读:
    6. Flask请求和响应
    5. Flask模板
    FW:Software Testing
    What is the difference between modified duration, effective duration and duration?
    How to push master to QA branch in GIT
    FTPS Firewall
    Query performance optimization of Vertica
    (Forward)5 Public Speaking Tips That'll Prepare You for Any Interview
    (转)The remote certificate is invalid according to the validation procedure
    Change
  • 原文地址:https://www.cnblogs.com/iOS-Blog/p/4127128.html
Copyright © 2011-2022 走看看