Cocos2d-x移植到WindowsPhone8移植问题-libcurl库移植问题
在Cocos2d-x 3.x最新版本中提供了Windows Phone 8平台移植libcurl库所需要的头文件和库文件。但要在Windows Phone 8平台成功移植libcurl库还是很不容易,需要费一些周折,我总结了如下几个步骤:
配置头文件搜索路径
配置链接环境
添加动态链接库
1、配置头文件搜索路径
整个步骤我们可以参考上一节介绍的rapidjson库移植。具体过程是选中HelloCppComponent工程,打开菜单“项目”→ “属性”弹出工程属性对话框,选择“配置属性”→“C++” →“常规”,在右边的“附加包含目录”中添加$(EngineRoot)external\curl\include\wp8。
另外,由于我们要移植的工程同时也需要解析JSON数据,因此也需要配置和移植rapidjson库。
2、配置链接环境
配置链接环境过程又分成两个步骤:配置附加库目录和配置附加依赖项。配置附加库目录是指定要链接的库文件所在目录,而配置附加依赖项是指定要链接的库文件。
我们首先看看配置附加库目录。具体过程是选中HelloCppComponent工程,打开菜单“项目”→ “属性”弹出工程属性对话框,如下图所示,选择“配置属性”→“连接器” →“常规”,在右边的“附加包含目录”中添加$(EngineRoot)external\curl\prebuilt\wp8\$(Platform),注意配置目之间需要用分号分隔开。
提示 在路径中的$(Platform)宏,它代表arm或win32,arm中的文件是为Windows Phone 8设备调试和部署准备,而win32中的文件是为在PC上运行Windows Phone 8模拟器调试准备的。
接下来我们配置附加依赖项。打开工程属性对话框,如下图所示,选择“配置属性”→“连接器” →“输入”,在右边窗口的“附加依赖项”,添加内容libcurl.lib。
3、添加动态链接库
上面的两个步骤配置如果没有配置,直接会导致程序无法编译错误。而添加动态链接库如果没有配置,会引起运行期错误,这种错误更加隐蔽。
这些库文件也是在$(EngineRoot)external\curl\prebuilt\wp8\$(Platform)目录下面,我们根据运行的平台添加它们。具体步骤是,选中HelloCppComponent工程右键菜单选择“添加”→“现有项”,打开添加项目对话框,如下图所示,找到$(EngineRoot)external\curl\prebuilt\wp8\$(Platform)实际的目录,选择文件libcurl.dll、libeay32.dll和ssleay32.dll文件,选择好后点击“添加”按钮进行添加。
添加完成后,我们还需要对这些文件设置属性,如下图所示,选中文件打开属性对话框,将其中的“内容”设置为True,这项设置可以保证文件在编译的时候被复制到运行环境中。请逐一设置这三个动态链接库文件。
如果上述三个步骤成功完成,我们就可以运行测试了。libcurl库的移植有很有代表性,它属于有各个平台的头文件和库文件,而没有源文件情况。凡事这种情况我们都可以照此移植。
Cocos2d-x移植到WindowsPhone8移植问题-libcurl库移植问题的更多相关文章
- Cocos2d-x移植到WindowsPhone8移植问题-libNetwork库移植问题
Cocos2d-x提供了libNetwork库的源代码,而且还提供了libNetwork库的源代码Visual Studio 2012工程文件libNetwork.vcxproj,这样就更方便移植了. ...
- STM32F407移植contiki2.6后使用LWIP库实现tcp client
最近在做智能家居,物联网项目,用到了C下的contiki移植 经过一阵调试,终于在 STM32F407移植contiki2.6后使用LWIP库实现tcp client. 一路艰辛谁人知道....唯有留 ...
- 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)
深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...
- 【MCU】国民N32固件库移植
目录 前言 移植N32Gxxx系列要点 前言 链接: 李柱明博客 移植AT32库&FreeRTOS教程 由于大部分国产MCU移植固件库.RTOS源码都是差不多的,所以本文不讲细节,如想熟悉移植 ...
- (转)libcurl库使用方法,好长,好详细。
一.ibcurl作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP ...
- Cocos开发中Visual Studio下libcurl库开发环境设置
我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件 ...
- C++ 用libcurl库进行http通讯网络编程
使用libcurl完成http通讯,很方便而且是线程安全,转载一篇比较好的入门文章 转载自 http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724 ...
- C++ 用libcurl库进行http通讯网络编程(转)
转载:http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html 目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三. ...
- C++ 用libcurl库进行http通讯网络编程[转]
http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html 目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三.cur ...
随机推荐
- UVALive 4192 Close Enough Computations 水题
Close Enough Computations 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge& ...
- asp.net 后台获取flv视频地址进行播放【转】
源码下载:http://download.csdn.net/detail/njxiaogui/7609687 前台:.aspx <table> <tr> <td>& ...
- DES加密解密(适用Windows和Linux系统)防止linux下解密失败
转自:http://blog.csdn.net/jerry_bj/article/details/8276552 package com.lasun.util; import java.io.File ...
- CGAffineTransformMakeTranslation和CGAffineTransform
摘要: CGAffineTransformMakeTranslation和CGAffineTransformTranslate的区别 1.CGAffineTransformMakeTranslatio ...
- JavaEE系列之(二)commons-fileupload实现文件上传、下载
一.文件上传概述 实现Web开发中的文件上传功能,需要两步操作: 1.在Web页面中添加上传输入项 <form action="#" method=" ...
- ThreadLocal小记
API: public class ThreadLocal<T> extends Object 该类提供了线程局部 (thread-local) 变量. 这些变量不同于它们的普通相应物.由 ...
- python中的reduce(转)
python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1 ...
- Js 数组——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
filter(): 语法: var filteredArray = array.filter(callback[, thisObject]); 参数说明: callback: 要对每个数组元素执行 ...
- 基于HTML5 SVG炫酷文字爆炸特效
这是一款使用html5 svg.css3和js制作的炫酷文字爆炸特效.该文字特效用SVG path属性将文字路径切割为很多小块,然后使用css3和js在鼠标滑过文字时制作文字爆炸分裂的炫酷效果. 在线 ...
- discuz(dz) SSO(单点,同歩,异步)登录 --转
原文地址:http://fc-lamp.blog.163.com/blog/static/1745666872012762520123/ discuz(dz) SSO(单点,同歩,异步)登录 一般流 ...