wxX11移植到arm板上(序)
在将wxX11里在程序在arm板子上运行之后,我们发现那上面的程序运行的时候没有边框和标题栏。于是我们就找这方面的解决方法。首先在tinyx里找到了一个窗口管理器twm,当把twm交叉编译完以后,拷到板子上运行,发现在那上面是可以运行的。运行时首先要开启Xfbdev服务器,然后设置好变量DISPLAY,之后twm就可以在那上面运行了。然后我们又做了一些配置工作,比方说板子上的字体的配置等。就是我们要在上面修改twm的源代码,给这个窗口管理器增加关闭按钮的时候,发现基于X的窗口管理器还有很多。于是我们尝试了几个,经历了几番编译失败之后,选择了使用blackbox(这是唯一一个可以编译成功的)。
//编译twm窗口管理器时所用的命令
arm-linux-uclibc-gcc -o twm twm.c add_window.c cursor.c events.c gc.c iconmgr.c icons.c list.c menus.c parse.c resize.c session.c util.c version.c -I/home/wxX11/wxX11-arm/include -L/home/wxX11/wxX11-arm/lib -lX11 -lz -lXext -ldl -lm -fno-exceptions -Wall -Wundef /home/wxX11/wxX11-arm/lib/libX11.so /home/wxX11/wxX11-arm/lib/libXau.a /home/wxX11/wxX11-arm/lib/libXdmcp.a /home/wxX11/wxX11-arm/lib/libXext.so /home/wxX11/wxX11-arm/lib/libXpm.so /home/wxX11/wxX11-arm/lib/libXmu.so /home/wxX11/wxX11-arm/lib/libXmuu.so /home/wxX11/wxX11-arm/lib/libICE.so /home/wxX11/wxX11-arm/lib/libXt.so.6 /home/wxX11/wxX11-arm/lib/libSM.so.6
编译时使用的命令为(这里不使用the X font library,否则编译会出错)
./configure --prefix=/home/wxX11/wxX11-arm --host=arm-linux --target=arm-linux --build=i686-pc-linux --disable-shared --enable-static --with-x --enable-xft=no --enable-nls=no CC=arm-linux-uclibc-gcc CXX=arm-linux-uclibc-g++ CFLAGS=-I/home/wxX11/wxX11-arm/include CXXFLAGS=-I/home/wxX11/wxX11-arm/include LDFLAGS=-L/home/wxX11/wxX11-arm/lib CPPFLAGS=-I/home/wxX11/wxX11-arm/include --x-libraries=/home/wxX11/wxX11-arm/lib --x-includes=/home/wxX11/wxX11-arm/include
make
make install
然后在板子上运行,发现这个窗口管理器是要比twm好多了,我觉得这上面的功能足够我们使用的了。
这里还是要对它进行配置。
因为在编译的时候没有使用the X font library,所以就使用了系统默认的X LOGICAL FONT DESCRIPTION (XLFD)
http://blog.tianya.cn/blogger/post_read.asp?BlogID=1037681&PostID=14142861
上面的这个网页对这种字体的介绍如下
X LOGICAL FONT DESCRIPTION (XLFD)
*XLFD*
XLFD 是 X 中使用的包括字体大小,字符集等信息的字体名。格式如下:
FOUNDRY-FAMILY-WEIGHT-SLANT-WIDTH-STYLE-PIXEL-POINT-X-Y-SPACE-AVE-CR-CE
每个字段的意思是:
- FOUNDRY: FOUNDRY 字段,编写字体的公司名称。
- FAMILY: FAMILY_NAME 字段,基本的字体族名称 (helvetica、gothic、times 等等)
- WEIGHT: WEIGHT_NAME 字段,字母的粗细。(浅 light、中等 medium、粗 bold 等)
- SLANT: SLANT 字段。
r: 罗马体 Roman (没有倾斜度)
i: 斜体 Italic
o: 倾斜体 Oblique
ri: 反向斜体 Reverse Italic
ro: 反向倾斜体 Reverse Oblique
ot: 其他
number: 可缩放字体
- WIDTH: SETWIDTH_NAME 字段,字符宽度 (正常 normal、压缩 condensed、窄
narrow、双宽度 double wide 等)
- STYLE: ADD_STYLE_NAME 字段,字体的额外信息 (Serif、Sans-Serif、
Informal、Decorated 等等)。
- PIXEL: PIXEL_SIZE 字段,字体以像素计的高度。
- POINT: POINT_SIZE 字段,10 倍字体以 point 数计的高度。
- X: RESOLUTION_X 字段,X 的位数 (每英寸多少点)
- Y: RESOLUTION_Y 字段,Y 的位数 (每英寸多少点)
- SPACE: SPACING 字段
p:比例 (Proportional)
m:等宽 (Monospaced)
c:等宽等高 (CharCell)
- AVE: AVERAGE_WIDTH 字段,10 倍字体的以像素计的宽度。
- CR: CHARSET_REGISTRY 字段。字符集的组名。
- CE: CHARSET_ENCODING 字段。字符集名的其余部分。对有些字符集,比如 JIS
X 0208,来说,如果该字段为 0,编码点 (code point) 取 GL 的值, 若
为 1,则取 GR 的值。
举个例子,设置大小为 14,对应 JIS X 0208 编码,可以写成以下格式
-misc-fixed-medium-r-normal--16-110-100-100-c-160-jisx0208.1990-0
X FONTSET
*fontset* *xfontset*
单字节字符通常只用一个字体,而对多字节来讲,经常用到字体的组合,这意味着一组字
符使用了一种字体,而另一组字符使用别的字体 (也许是双宽度),字体的集合就叫做字
体集 (fontset)。
字体集里的字体依赖于你系统的 locale,X windows 维护着这个 locale 所需要的字符
组信息的表,你需要在 'guifontset' 里指定 locale 所需要的全部字体。
备注: 字体集总是使用当前的 locale,即使 'encoding' 已设置成另一种编码。在那种
情况下,你要设置 'guifont' 和 'guifontwide' 而不是 'guifontset'。
例如:
|charset| 语言 "字符组"
GB2312 中文 (简体) ISO-8859-1 及 GB 2312
Big5 中文 (繁体) ISO-8859-1 及 Big5
CNS-11643 中文 (繁体) ISO-8859-1、CNS 11643-1 及 CNS 11643-2
EUC-JP 日语 JIS X 0201 及 JIS X 0208
EUC-KR 韩语 ISO-8859-1 及 KS C 5601 (KS X 1001)
你可以用 xlsfonts 命令来查找字体,例如,你需要找 KS C 5601 的一种字体:
xlsfonts | grep ksc5601
这个比较复杂,也令人迷惑,也许你需要阅读 X-Windows 的文档,它可以帮助你理解你
不懂的地方。
*base_font_name_list*
当你找到你所需要的字体以后,你就可以通过设置 'guifontset' 来设置字体。要使用一
系列的字体,你可以用逗号把它们隔开。
例如,如果你要使用 ja_JP.eucJP locale,你需要 JIS X 0201 和 JIS X 0208。你可以
提供显式指定字符集的字体列表,就像这样:
:set guifontset=-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0,
\-misc-fixed-medium-r-normal--14-130-75-75-c-70-jisx0201.1976-0
另外,你也可以设置一个省略编码名的基本字体名列表,让 X-Windows 选择 locale 所
需要的字体字符。例如:
:set guifontset=-misc-fixed-medium-r-normal--14-130-75-75-c-140,
\-misc-fixed-medium-r-normal--14-130-75-75-c-70
另外,你也可以提供单个基本字体名,让 X-Windows 选择系统可用的所有字体,例
如:
:set guifontset=-misc-fixed-medium-r-normal--14-*
另外,你也可以指定字体别名,请参考 fonts 目录下的 fonts.alias 文件 (例如,
/usr/X11R6/lib/X11/fonts)。例如:
:set guifontset=k14,r14
*E253*
在东亚字体中,正规的字符单元是正方形,当你混合 Latin 字体和东亚字体的时候,东
亚字体的宽度应该是 Latin 字体的两倍。
如果 'guifontset' 不为空,|:highlight| 命令的 "font" 参数也被解释为字体集。例
如,你可以设置高亮显示:
:hi Comment font=英文_字体,你的_字体
如果你使用了一个错误的 "font" 参数,你会收到错误信息。
也要确定你在设置高亮组的字体之前设置 'guifontset'。
在板子上可以使用的两种字体为:
-adobe-helvetica-bold-r-normal--30-120-75-75-m-60-hp-roman8
-adobe-courier-bold-o-normal--30-100-75-75-m-60-hp-roman8
wxX11移植到arm板上(序)相关推荐
- wxX11移植到arm板上
[原]移植wxX11到开发板上 2012-5-18阅读467 评论0 最近几天由于工作安排,要将wxX11程序移植到arm开发板上.一连工作了好几天,终于可以在板子上显示出一个"X" ...
- 最新版ser2net移植到ARM板上,交叉编译
这个是ser2net源码http://sourceforge.net/projects/ser2net/files/latest/download ser2net是我在玩openwrt时接触的,当时用 ...
- 移植c语言算法到arm上,μCOS-II移植到ARM处理器上的几个要点
原标题:μCOS-II移植到ARM处理器上的几个要点 本文主要介绍μCOS-II移植到ARM处理器上的几个要点,如下所示: uCOS II在ARM处理器上移植过程中的中断处理 uCOS II是一个源码 ...
- Qt——用在ARM板上的Mplayer(1.3.0,1.0rc4)安装编译步骤!还有,Mplayer背景抖动闪烁问题解答,终于来了!
注意:若转载,请贴上链接"https://blog.csdn.net/qq_41042595/article/details/112308184",如若发现抄袭或未标明来源现象,都 ...
- Qt程序在arm板上运行
1.Qt中的库需要拷贝到arm板上: 2.配置环境变量,参考该文. 总结: 1.可执行程序在终端中运行前,需要配置好环境变量,我们用export的形式配置的,这种形式只在当前终端中生效(因为,如果我们 ...
- Opencv3.2移植到arm板
注:博客中有些图片部分为了省事,借用了别人博客的图片,相关部分注意事项相同.若有侵权,请联系删除! 一,Opencv3.2移植到arm Opencv3.2 ubuntu16.04 目标板:飞凌嵌入式i ...
- 【教程】制作能在ARM板上直接运行的gcc本地编译器
编译好的程序的下载链接:百度网盘 请输入提取码(提取码:ocmm) 概述 通常情况下,我们是在电脑里面开一个Linux虚拟机, 在虚拟机里面用交叉编译工具链编译好可执行文件后,将可执行文件拷贝到板子里 ...
- 手把手教你在ARM板上写一个驱动程序!
摘要:搞嵌入式有两个方向,一个是嵌入式软件开发(MCU方向),另一个是嵌入式软件开发(Linux方向).其中MCU方向基本是裸机开发和RTOS开发.而Linux开发方向又分为驱动开发和应用开发.其中应 ...
- 在ARM板上的linux系统中查看进程实际使用物理内存
我的S3C2440板上的linux系统使用的busybox版本为 BusyBox v1.13.3 ,有很多命令在上面都无法使用,我本打算查看我进程所占用的物理内存,所以使用top命令,但是返回如下 ...
最新文章
- php要求掌握链表结构吗,PHP 链表结构之单链表(一)
- 时间戳的转换和星期转换
- 初识IBM刀片服务器
- 解决svn错误:post-commit hook failed (exit code 1) with output
- python数学表达式3+(a+b)2_python3的基础学习之数学(2)
- linux nginx 状态,Nginx开启运行状态(status)功能 | IT运维网
- python位运算符_详细介绍Python语言中的按位运算符
- ros melodic控制真实机械臂之urdf模型生成
- mac git配置 idea
- conda创建环境速度慢解决办法
- C# 文件上传 默认最大为4M的解决方法
- python3视频教程哪个好_python3入门视频教程
- 学校计算机社团都干些什么,学校计算机社团工作计划
- 用opencv实现连连看外挂
- php多张图片下载(zip压缩)
- 类和对象12:容器方法
- malloc、calloc、realloc函数
- 100个最热门的国人开发开源软件
- Win32创建菜单篇
- 优雅的剥洋葱:浅析 Java Optional 类