ubuntu Cairo图形库 环境搭建
Cairo官网:http://cairographics.org/
根据官网指示,我使用如下语句安装好cairo库
sudo apt-get install libcairo2-dev
从官网拷贝代码(http://cairographics.org/FAQ/#compilation_flags):hello.c
#include <cairo.h> int
main (int argc, char *argv[])
{
cairo_surface_t *surface =
cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 240, 80);
cairo_t *cr =
cairo_create (surface); cairo_select_font_face (cr, "serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size (cr, 32.0);
cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
cairo_move_to (cr, 10.0, 50.0);
cairo_show_text (cr, "Hello, world"); cairo_destroy (cr);
cairo_surface_write_to_png (surface, "hello.png");
cairo_surface_destroy (surface);
return 0;
}
然后根据官网给出的命令行进行编译
gcc -o hello $(pkg-config --cflags --libs cairo) hello.c
但是结果如下图所示
出现这种“undifined”一般是库文件没有找到,于是执行
pkg-config --cflags --libs cairo
得到的字符串中直接有 -lcairo,而此时查找libcairo.a的路径应该是“/usr/lib”,但是我到该目录下查看,并没有发现libcairo.a库文件。
再仔细查看官方文档(http://cairographics.org/download/)
Many distributions including Debian,Fedora, and others regularly include recent versions of cairo. As more and more applications depend on cairo, you
might find that the library is already installed. To get the header files installed as well may require asking for a -dev or-devel package as follows:
许多像Debian、Fedora这样的发行版本通常都包含了最新版本的cairo。而且随着越来越多的应用程序依赖于cairo,你会发现cairo的库文件早已安装在你的系统中。如果需要安装头文件,请使用下面语句:
原来,cairo库文件早就在我的系统中了,刚刚安装的只是头文件,通过文件管理器,我找到了libcairo.a:
所以我只需要告知编译器,我的库文件在这就行了,由于我对“pk-config”工具不熟悉,所以使用如下语句进行编译:
gcc -o hello hello.c -L /usr/lib/i386-linux-gnu/ -lcairo -I /usr/include/cairo
然后运行hello得到一张png图片:
hello world:
ubuntu Cairo图形库 环境搭建的更多相关文章
- ubuntu java开发环境搭建(jdk+tomcat+eclipse)
一.jdk的安装配置. 1.下载jdk. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...
- Ubuntu Desktop开发生产环境搭建
Ubuntu Desktop开发生产环境搭建 1 开发生产环境搭建 在本节内容开始前,先定义一下使用场合,没有哪种系统或者设备是万能的,都有它的优点和缺点,能够在具体的使用场景,根据自身的需求来取 ...
- Ubuntu中Hadoop环境搭建
Ubuntu中Hadoop环境搭建 JDK安装 方法一:通过命令行直接安装(不建议) 有两种java可以安装oracle-java8-installer以及openjdk (1)安装oracle-ja ...
- ubuntu上lamp环境搭建
首先,介绍个彻底删除linux已经安装的软件的方法. sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-5. ...
- Docker+STF在ubuntu下测试环境搭建(详细搭建步骤及踩坑记录)
一.什么是OpenSTF? STF又称OpenSTF,它是一个手机设备管理平台,可以对手机进行远程管理.调试.远程手机桌面监控等操作.这个系统类似于目前很流行的云测服务比如Testin,虽然网页上提供 ...
- Ubuntu下qemu环境搭建
在查找资料过程中,发现自己搭建虚拟的arm环境的话,有一个比较好的软件就是qemu了,当然还有其他的,大家各投所好就好. 接下来说一下qemu环境搭建过程. 其实搭建很简单,作为小白,我还是捣鼓了两三 ...
- Ubuntu下qemu环境搭建vexpress开发平台
在查找资料过程中,发现自己搭建虚拟的arm环境的话,有一个比较好的软件就是qemu了,当然还有其他的,大家各投所好就好. 接下来说一下qemu环境搭建过程. 其实搭建很简单,作为小白,我还是捣鼓了两三 ...
- Ubuntu开发相关环境搭建
一.Ubuntu系统语言环境切换修改 安装时,选择的中文版,但实际使用起来,很不爽,果断切换为英文 1.1 打开终端: vim /etc/default/locale 1.2 修改配置 LANG=&q ...
- 【Ubuntu Java 开发环境搭建 】
配置环境变量 在终端下: sudo gedit /etc/profile 这里当然有些熟悉ubuntu的朋友也可以用 vim, 刚从windows转过来的朋友还是用gedit看着舒服写. ...
随机推荐
- 【模板/经典题型】min-max容斥
一定注意容斥的时候-1的系数多加了1. 然后一种很常见的min-max容斥的策略就是以每个元素的出现时间作为权值. 最后一个出现的时间即为max,也就等价于全集出现的时间.
- 2.3 UML活动图
活动图定义 活动图描述了在一个过程中,顺序的/并行的活动及其之间的关系 应用于商业过程.工作流(业务过程).复杂算法的建模 活动图是顶点和弧的集合 活动节点 动作 流 对象值 注解和约束等 活动图基本 ...
- pycharm安装步骤
python环境配置教程 https://jingyan.baidu.com/article/c45ad29c05c208051653e270.html 由于安装Pycharm时忘记截图了,所以详细安 ...
- Known Notation ZOJ - 3829 (后缀表达式,贪心)
大意:给定后缀表达式, 每次操作可以添加一个字符, 可以交换两个字符的位置, 相邻数字可以看做一个整体也可以分开看, 求合法所需最少操作数. 数字个数一定为星号个数+1, 添加星号一定不会更优. 先判 ...
- matlab:统计矩阵中某元素的个数
三种统计方法: A=ceil(rand(,)*); a=; %第一种 sum(A(:)==a): %第二种 length(find(A==a); %第三种 logical=(A=a); sum(log ...
- Fiddler 4 界面功能介绍
由于本人工作接触Web测试,所以我从网上找的资料,学习了解web测试内容,然后自己整理汇总的随笔,如文章中有不足的地方,请大家多多指教:或者文章内容与他人相似,望见谅 主界面: 工具栏 file:用于 ...
- QPS 机器计算公式
QPS = req/sec = 请求数/秒 QPS = 总请求数 / ( 进程总数 * 请求时间 )QPS: 单个进程每秒请求服务器的成功次数 原理:每天80%的访问集中在20%的时间里,这20%时间 ...
- Parse error: syntax error, unexpected end of file in * 的解决办法
这个原因很简单,就是你的php语法错误. 在你的php代码种出现了<? ?> 标准的是<?php ?>
- 关于final static修饰的常量部署后没有更新的问题
出现问题的场景是这样的: 项目中有个专门放流程Key值常量的类FlowConstants.java,其中这些常量都用了final static 修饰.某天因为修改了流程,相应的key值也改变了,所以直 ...
- 牛客练习赛24-B-贪心
链接:https://www.nowcoder.com/acm/contest/157/B来源:牛客网 题目描述 凤凰于飞,翙翙其羽,亦集爰止. ...