Agg:Windows上GCC编译Agg

本文记录用TDM64-GCC(MingGW的变种)编译Agg2.5的过程。操作系统win8.1 64位,编译器TDM64-gcc。

首先,TDM64-GCC只提供了一套编译环境,还有一些posix命令没有提供,例如ls,rm等,简单的办法就是装Git,有一个选项,会提供这些工具。解压agg2.5,将Makefile.in.MINGW32_NT-5.1复制一份,重命名为Makefile.in.MINGW32_NT-6.1,然后,直接编译就可以过:

cd agg-2.5
make

因为是64位编译器,编译后,后面的platform_support又不能编译了,所以最好加上-m32的编译选项。修改src/Makefile,在CXXFLAGS后加上-m32:

CXXFLAGS= $(AGGCXXFLAGS) -I../include -L./ -m32

重新编译一遍:

cd agg-2.5
make clean
make

这样编译后,src下会得到libagg.a,新建一个目录,把include拷贝进去,另外建一个lib目录,把libagg.a放进去。

下面我们编译一个例子试试:

拷贝examples下的bezier_div.cpp出来,以及src/platform_support/win32下的两个cpp文件出来,新建一个Makefile:

OBJS = bezier_div.cpp agg_win32_bmp.cpp agg_platform_support.cpp

CC = g++
COMPILER_FLAGS = -w -m32
LINKER_FLAGS = -lagg -lgdi32

HEADERS = -I./agg/include
LIBS = -L./agg/lib 

OBJ_NAME = agg.exe

all    :$(OBJS)
    $(CC) $(OBJS) $(COMPILER_FLAGS) $(HEADERS) $(LIBS) $(LINKER_FLAGS) -o $(OBJ_NAME)

clean:
    rm -f *.o *.exe

这里把platform_support作为自己工程的代码加进去编译,同时编译的时候,需要指定-m32选项编译为32位程序,并链接gdi32库。运行效果如下:

 

转载于:https://www.cnblogs.com/jpeg/p/make-agg-via-gcc.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值