织梦CMS - 轻松建站从此开始!

罗索

编译SGE库

落鹤生 发布于 2011-02-22 12:46 点击:次 
SGE是一个非常实用也挺不错的SDL图型外部库,在我的项目中我使用它进行一些简单的2D做图,并且使用它的Sprite classes。接下来简单地介绍如何编译它。
TAG:

SGE是一个非常实用也挺不错的SDL图型外部库,在我的项目中我使用它进行一些简单的2D做图,并且使用它的Sprite classes。接下来简单地介绍如何编译它。

在WIN32环境下,使用MinGW+MSYS, 首先编译SDL,网上有很多帮助,然后见编译完成的SDL的静态库放入C:MinGWlib,将头文件放入C:MinGWincludeSDL。

然后使用MSYS进入SGE目录,输入make就可以进行编译。如果输入make install,会Builds 一个 dynamic SGE library 并且 将SGE的 headers 放入例如C:MinGWincludeSDL里。make 的时候可能会有错误,可以根据错误提示进行改正,例如:可能会遇到sge_surface.cpp:148: error: invalid initialization of non-const reference of type ‘char*&’ from a temporary of type ‘char**’这样的错误,只需在sge_surface.cpp:148将va_start((va_list*)ap, format); 改成va_start((va_list&)ap, format); 即可。

如果以上方法有问题,或者无法编译dll库。那么可以试试以下方法 (点击下图,可看大图):

SGE_Build_Eclipse

 1.使用Eclipse, 然后新建一个C++项目,将SGE的源文件加入其中,如图A所示。

并新建一个sge.cpp文件,输入#include "sge.h"   int main(int argc, char** argv) {  return 0;    }

2.在setting里进行一些编译所需的简单设定如图B, C, D所示。

3.现在还没完成,如果没有SDL_image话,那么需要对sge_config.h手动进行设定,如图E所示,加入画红线的语句,去掉其上面的语句。

4.现在编译会又会遇到,sge_surface.cpp:148: error: invalid initialization of non-const reference of type ‘char*&’ from a temporary of type ‘char**’这样的错误,同样的,如图F 所示将va_start((va_list*)ap, format); 改成va_start((va_list&)ap, format); 即可。同一类型的错误,都可以这样改正。

好了,大功告成,现在在/yourproject/Debug里你会找到SGE.DLL。

(hanyionet)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201102/10942.html]
本文出处:hanyionet.wordpress.com 作者:hanyionet
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容