在cocod2d-x源码基础上拓展第三方库

以protobuf为例介绍下我在项目中怎么生成对平台的库 直至能使用的过程:

protobuf是google出的一个结构化数据传递的工具,用于传递自定的strcut xxx {}内容。
可用于在一个机器上的进程间,两台设备各自的进程间,等等。

1.windows
windows系统上把c/c++源码编译成dll 可以使用VS 也可以使用gcc
使用VS有两个门槛:
1.界面话的VS运行源码仍需要配置各种头文件
2.要求制作者对VS的操作要熟悉
使用gcc:
gcc:GNU编译器套件(GNU Compiler Collection),目前可以使用GCC在Linux、BSD、Mac OS X windows的系统上
编译c/c++,Fortran、Pascal、Objective-C、Java、Ada、Go, 汇编等语言

windows上使用GCC可以借助MinGW

1.下载安装MinGW http://blog.sina.com.cn/s/blog_637ed3bc01017hfi.html
2.gcc编译dll http://blog.csdn.net/denglei265/article/details/3889470

1.首先介绍下MinGW
MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称。
  实际上 MinGW 并不是一个 单纯的C/C++ 编译器,而是一套 GNU 工具集合。
  开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境。
  所以,使用 MinGW 我们就可以像在 Linux 下一样使用 GNU 程序开发工具。
  GCC 就是 MinGW 的核心所在,GCC 是一套支持众多计算机程序语言的编译系统,而且在语言标准的实现上是最接近于标准的。
并且 GCC 几乎可以移植到目前所有可用的计算机平台。
  GCC 本身不像 VC 那样拥有IDE 界面(在 Windows 上也存在 Dev C++ 之类的支持 MinGW 编译器的 IDE)。
源代码编辑你可以选用任何你喜欢的文本编辑器。然后使用 make 等工具来进行软件项目的编译、链接、打包乃至发布。
2.搜索下载MinGW

3.环境变量的配置
在(系统属性-->高级-->环境变量-->系统变量 中)(以下目录都根据自己的电脑MinGW所在位置不同而改变)

a.在PATH的值中加入“C:\Program Files\MinGWStudio\MinGW\bin”。这是寻找gcc编译器的路径。如果PATH中还有其他内容,需要用英文状态下分号进行分割

b.新建LIBRARY_PATH变量,在其值中加入“C:\Program Files\MinGWStudio\MinGW\lib”。这是标准库存放的路径。

c.新建C_INCLUDE_PATH变量,在其值中加入“C:\Program Files\MinGWStudio\MinGW\include”。这是Include查找头文件的路径。

4.验证gcc是否正常运行
在cmd控制台窗口下面,输入gcc -v。若已经成功安装好,会显示gcc的版本信息。

gcc编译dll的例子

假设共有三个文件:print.h,print.c,test.c

编译动态dll库:

gcc -Wall -shared print.c -o print.dll

或者

gcc –share print.c -o print.dll

调用dll库生成exe文件:

gcc test.c print.dll -o test

编译静态库,可供windows调用:

1、gcc -shared -o print.dll print.c -Wl,–output-def,print.def,–out-implib,libprint.a

2、lib /machine:i386 /def:print.def

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值