在将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板上(序)相关推荐

  1. wxX11移植到arm板上

    [原]移植wxX11到开发板上 2012-5-18阅读467 评论0 最近几天由于工作安排,要将wxX11程序移植到arm开发板上.一连工作了好几天,终于可以在板子上显示出一个"X" ...

  2. 最新版ser2net移植到ARM板上,交叉编译

    这个是ser2net源码http://sourceforge.net/projects/ser2net/files/latest/download ser2net是我在玩openwrt时接触的,当时用 ...

  3. 移植c语言算法到arm上,μCOS-II移植到ARM处理器上的几个要点

    原标题:μCOS-II移植到ARM处理器上的几个要点 本文主要介绍μCOS-II移植到ARM处理器上的几个要点,如下所示: uCOS II在ARM处理器上移植过程中的中断处理 uCOS II是一个源码 ...

  4. Qt——用在ARM板上的Mplayer(1.3.0,1.0rc4)安装编译步骤!还有,Mplayer背景抖动闪烁问题解答,终于来了!

    注意:若转载,请贴上链接"https://blog.csdn.net/qq_41042595/article/details/112308184",如若发现抄袭或未标明来源现象,都 ...

  5. Qt程序在arm板上运行

    1.Qt中的库需要拷贝到arm板上: 2.配置环境变量,参考该文. 总结: 1.可执行程序在终端中运行前,需要配置好环境变量,我们用export的形式配置的,这种形式只在当前终端中生效(因为,如果我们 ...

  6. Opencv3.2移植到arm板

    注:博客中有些图片部分为了省事,借用了别人博客的图片,相关部分注意事项相同.若有侵权,请联系删除! 一,Opencv3.2移植到arm Opencv3.2 ubuntu16.04 目标板:飞凌嵌入式i ...

  7. 【教程】制作能在ARM板上直接运行的gcc本地编译器

    编译好的程序的下载链接:百度网盘 请输入提取码(提取码:ocmm) 概述 通常情况下,我们是在电脑里面开一个Linux虚拟机, 在虚拟机里面用交叉编译工具链编译好可执行文件后,将可执行文件拷贝到板子里 ...

  8. 手把手教你在ARM板上写一个驱动程序!

    摘要:搞嵌入式有两个方向,一个是嵌入式软件开发(MCU方向),另一个是嵌入式软件开发(Linux方向).其中MCU方向基本是裸机开发和RTOS开发.而Linux开发方向又分为驱动开发和应用开发.其中应 ...

  9. 在ARM板上的linux系统中查看进程实际使用物理内存

    我的S3C2440板上的linux系统使用的busybox版本为 BusyBox v1.13.3 ,有很多命令在上面都无法使用,我本打算查看我进程所占用的物理内存,所以使用top命令,但是返回如下 ...

最新文章

  1. php要求掌握链表结构吗,PHP 链表结构之单链表(一)
  2. 时间戳的转换和星期转换
  3. 初识IBM刀片服务器
  4. 解决svn错误:post-commit hook failed (exit code 1) with output
  5. python数学表达式3+(a+b)2_python3的基础学习之数学(2)
  6. linux nginx 状态,Nginx开启运行状态(status)功能 | IT运维网
  7. python位运算符_详细介绍Python语言中的按位运算符
  8. ros melodic控制真实机械臂之urdf模型生成
  9. mac git配置 idea
  10. conda创建环境速度慢解决办法
  11. C# 文件上传 默认最大为4M的解决方法
  12. python3视频教程哪个好_python3入门视频教程
  13. 学校计算机社团都干些什么,学校计算机社团工作计划
  14. 用opencv实现连连看外挂
  15. php多张图片下载(zip压缩)
  16. 类和对象12:容器方法
  17. malloc、calloc、realloc函数
  18. 100个最热门的国人开发开源软件
  19. Win32创建菜单篇
  20. 优雅的剥洋葱:浅析 Java Optional 类

热门文章

  1. 如何培养新人总结_新手总结3----剑客角色培养篇
  2. 关于微软学术搜索项目
  3. ue4中隐藏灯光和相机图标_[HDRP]物理灯光是什么?科普向
  4. 会声会影2022新版本视频图文教程介绍
  5. java对接支付宝(四)-即时到账无秘退款
  6. 新手如何做游戏代理赚钱?
  7. Spring框架知识
  8. 面试——如何测试一支笔?
  9. 设计开发必须收藏的资源网站
  10. 计算机作业我家乡的变化英语作文,我家乡的变化英语作文(精选12篇)