跳转到内容
主菜单
主菜单
移至侧栏
隐藏
规范/协议
协议
算法
JVM
多线程/并发
存储
AI
深度学习
工具箱
最近更改
文章分类
全部文章
WHY42
搜索
搜索
外观
登录
个人工具
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁AGG:Windows平台编译Agg”︁的源代码
页面
讨论
大陆简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
页面信息
外观
移至侧栏
隐藏
←
AGG:Windows平台编译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,然后,直接编译就可以过: <source lang="bash"> cd agg-2.5 make </source> 因为是64位编译器,编译后,后面的platform_support又不能编译了,所以最好加上-m32的编译选项。修改src/Makefile,在CXXFLAGS后加上-m32: <source lang="bash"> CXXFLAGS= $(AGGCXXFLAGS) -I../include -L./ -m32 </source> 重新编译一遍: <source lang="bash"> cd agg-2.5 make clean make </source> 这样编译后,src下会得到libagg.a,新建一个目录,把include拷贝进去,另外建一个lib目录,把libagg.a放进去。 下面我们编译一个例子试试: 拷贝examples下的bezier_div.cpp出来,以及src/platform_support/win32下的两个cpp文件出来,新建一个Makefile: <source lang="bash"> 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 </source> 这里把platform_support作为自己工程的代码加进去编译,同时编译的时候,需要指定-m32选项编译为32位程序,并链接gdi32库。运行效果如下: [[Image:Agg-HelloWorld.jpg|x128px]] [[Category:Linux/Unix]]
返回
AGG:Windows平台编译Agg
。
搜索
搜索
查看“︁AGG:Windows平台编译Agg”︁的源代码
添加话题