今日编译mipsel-linux的DirectFb碰壁及解决

linux之写C代码出现warning: format not a string literal and no format arguments [-Wformat-security] 今天编写c语言代码的时候出现下面错误 解决办法: 把printf("length is %d" + length);改成 printf("length is %d", length); 以后特么不要 像傻逼换这种错误,日来狗,写java代码写习惯了,不能动不动就是+。 阅读详情

今日无事,尝试编译DirectFb,使用的工具是君正的交叉编译工具,http://www.ingenic.cn/product.aspx?ID=62

使用库有:

jpeg-6b

freetype-2.5.0.1

DirectFB-1.7.0

步骤如下:

export PREFIX=/opt/mipsel
export LD_LIBRARY_PATH=$PREFIX/lib
export PKG_CONFIG_PATH=$LD_LIBRARY_PATH/pkgconfig
export ARCH=mips
export CROSS_COMPILE=/opt/mipseltools-gcc412-glibc261/bin/mipsel-linux-
export CC=${CROSS_COMPILE}gcc 
export CXX=${CROSS_COMPILE}g++ 
export AR=${CROSS_COMPILE}ar
export RANLIB=${CROSS_COMPILE}ranlib 
export NM=${CROSS_COMPILE}nm 
export AS=${CROSS_COMPILE}as
export LD=${CROSS_COMPILE}ld

cd jpeg-6b
./configure --prefix=$PREFIX --build=i686 --target=mips-linux --host=mips-linux
make
make install

cd freetype-2.5.0.1
./configure --prefix=$PREFIX --build=i686 --target=mips-linux --host=mips-linux
make
make install

这两步之有个小问题,make install 时提示有些目录不存在,比如/opt/man,手动创建再make install 一些就可以了。

cd DirectFB-1.7.0
./configure --prefix=$PREFIX --build=i686 --target=mips-linux --host=mips-linux --disable-x11 --with-gfxdrivers=none --enable-png=no "CFLAGS=-I/opt/mipsel/include"
make
问题来了
make[4]: Entering directory `/opt/directfb/DirectFB-1.7.0/lib/direct'
  CXX    String.lo
String.h:124: error: format string argument not a string type
String.h:129: error: format string argument not a string type
make[4]: *** [String.lo] 错误 1
make[4]: Leaving directory `/opt/directfb/DirectFB-1.7.0/lib/direct'
make[3]: *** [all-recursive] 错误 1
make[3]: Leaving directory `/opt/directfb/DirectFB-1.7.0/lib/direct'
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory ``/opt/directfb/DirectFB-1.7.0/lib'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/opt/directfb/DirectFB-1.7.0'
make: *** [all] 错误 2

/opt/directfb/是我存放源码的目录。
打开/opt/directfb/DirectFB-1.7.0/lib/direct/目录下String.h,找到124行到129行,内容如下:
     PrintF( const _CharT *format, ... )          D_FORMAT_PRINTF(2);

     StringBase &
     PrintF( const _CharT *format, va_list args, size_t stack_buffer = 300 );

     static StringBase F( const _CharT *format, ... ) D_FORMAT_PRINTF(1);
由于提示的错误是format string argument not a string type,说明参数format的类型必须是字符串类型(带点经验的猜测),所以修改如下:
     PrintF( const char *format, ... )          D_FORMAT_PRINTF(2);

     StringBase &
     PrintF( const char *format, va_list args, size_t stack_buffer = 300 );

     static StringBase F( const char *format, ... ) D_FORMAT_PRINTF(1);
搞定
make
通过
make install
搞定

还没实际在板上跑。

DirectFB-1_7_4 代码 DirectFB是一个轻量级的提供硬件图形加速,输入设备处理特性和抽象的图形库 立即下载

相关推荐

DirectFB-1.7.7

DirectFB-1.7.7源码,官网源码下载,无任何修改。可惜现在Directfb官网已关闭,故给大家分享关闭前下载的最新源码,谢谢。

交叉编译器的信息查询

作者:Sam(甄峰)  sam_code@hotmail.com     Sam常使用各种不同的交叉编译器编译同一份程序。发现不同的编译器在使用同样的Makefile时,会有不同的反应。一直搞不清是怎么回事。现在学习之:   1. 如何查看交叉编译器信息: #gcc -v #arm-linux-gcc -v #mipsel-linux-gcc -v

wzzushx的专栏 2138

mipsel-linux-as: not found 是因为系统是64位的,按照以下文档安装几个包即可解决

编译uboot时出现/bin/sh: 1: /opt/buildroot-gcc342/bin/mipsel-linux-as: not found 是因为系统是64位的,按照以下文档安装几个包即可解决

DirectFB窗口管理器(unique)研究笔记

DirectFB窗口管理器(unique)研究笔记 DirectFB自带有两个窗口管理器:default和unique,可以在配置文件中用wm=xxx来选择用哪一个作为当前的窗口管理器。 两个窗口管理器的功能都很简单,与桌面环境流行的窗口管理器几乎没有可比性。尤其是前者,提供的功能更是简陋,仅仅是管理一下窗口栈而已。后者虽然简陋,但其架构设计还算不错,很容易在上面扩展自己需要的功能

国产开源 GUI 引擎 AWTK 1万+

DirectFB-DIRECTFB_1_7_7.tar.gz_DirectFB-1.7.7_directfb

DirectFB-DIRECTFB_1_7_7代码

制作mipsel-linux交叉编译工具

制作mipsel-linux交叉编译工具

linux系统文件制作编译器,制作mipsel-linux交叉编译工具

1 前言在嵌入式开发中,MIPs处理器是常见的几中处理器类型之一。另一方面,Linux是开源软件,应用范围很广, 因其对包括MIPS在内的多种嵌入式处理器架构的良好支持. 因此在嵌入式应用也.也大量采用Linux。在嵌入式开发过程中,很容易获得运行于x86架构PC上的Linux,并可使用其上的丰富的工具。gcc是Linux中一个很著名的C编译器,在编译Linux核心时,就要用到gcc。在PC机的L...

weixin_42393929的博客 624

python中frida的安装+frida-server(雷电模拟器)保姆级安装教程

frida的安装,安卓逆向,adb

2301_80224944的博客 4580

一个可变参数类型检查的示例

最近在修正代码警告,发现封装的打印语句不会进行参数的类型检查,而用printf却是可以的。于是上网找了下资料,学习了一下。 对于函数参数类型的检查,在gcc环境中可以使用__attribute__((format(printf,N,M)))的形式。

李迟的专栏 2219

YOLOv8使用设备摄像头实时监测

YOLOv8使用设备摄像头实时监测

Joining667的博客 4188

有限元缺陷:剪切锁死

有限元缺陷:剪切锁死

wsxww11的博客 5188

mipsel-linux-as:No such file or directory

Q:/opt缺失buildroot-gcc342: A:用管理员账号将buildroot-gcc342压缩包放入server的/opt目录并解压。

Peppa Pig 449

计算机组成原理实验:手把手教你用模拟程序实现中断机制(附完整代码)

本文通过一个计算机组成原理模拟实验,手把手教你从零实现一个可工作的中断系统。实验详细演示了如何配置中断控制器、编写主程序与中断服务程序,并观察中断响应、现场保护和恢复的全过程,深入解析了中断原理的核心机制。

471

Linux点点滴滴(二):在 Linux(x86)上安装 GNU 工具链(MIPS)并进行编译

Linux学习的点点滴滴(二) 其实本文跟Linux关系并不是那么大,是我在自己写CPU的过程中总结的东西,之前只用Word写在自己电脑里了,想着哪天放到博客上。 本文是在写CPU进行测试的时候需要将汇编翻译成机器码的过程,刚开始学的时候,也遇到了一些小问题,在此记录。 一、安装GNU工具链 gcc编译器使用的是龙芯公司的,使用了MIPS架构。下载地址 进入Linux虚拟机的/opt文件夹(其实哪......

Cherry 6579

Duplicate Cleaner Pro 5.16 保姆级教程:如何用哈希值精准清理重复文件(附音频/视频模式详解)

本文详细介绍了Duplicate Cleaner Pro 5.16如何利用哈希值技术精准清理重复文件,特别针对音频、视频和图片等多媒体文件提供了专业解决方案。通过哈希算法比对和多媒体特征识别,帮助用户高效管理存储空间,提升文件整理效率。

weixin_27032989的博客 566

芒果YOLOv5改进107:ARConv自适应旋转卷积,全网首发 | 即插即用:以增强其表征能力,从而准确检测方向物体,ICCV顶会论文idea

ARConv自适应旋转卷积,全网首发 | 即插即用:以增强其表征能力,从而准确检测方向物体,ICCV顶会论文idea

包括YOLOv5、YOLOv7、YOLOv8等模型改进 956

DirectFB的接口详解

1. 概述    ================      本文主要研究DirectFB及其向上向下的接口,顺带讲一下QT搭配DirectFB使用的一些笔记。    其他,如DirectFB的内部结构、Qt的内部结构、及其他GUI系统如android不在本文讨论范围内。    本文会设计一些DirectFB的2D加速函数介绍,3D加速不再本文讨论范围内。    =========

2万+

【ArcGIS微课1000例】0068:ArcGIS加载world imagery高清卫星影像教程

本文介绍了如何在ArcGIS中加载World Imagery高清卫星影像作为谷歌影像的替代方案。通过添加ArcGIS Server并输入在线图集URL(https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer),即可连接并预览包含中国影像、青海湖、东方明珠等全球高清卫星图。该教程提供了详细的操作步骤图示,帮助用户快速获取优质底图数据,适用于地理信息分析和可视化应用。

智慧空间实验室 5418

DirectFB 1.4.3 在ARM-linux上移植

1.下载源码DirectFB-1.4.3.tar.gz 2.解压缩 tar xzvf DirectFB-1.4.3.tar.gz 3.进入目录cd DirectFB-1.4.3 4.automake工具配置,需要系统中包含有automake相关工具 配置./autogen.sh  5.参数配置 ./configure -prefix /usr/local/dFB-1.4.3 -host

bmbm546的专栏 3682

OpenClaw实战系列06:持久记忆与RAG知识库构建——让AI真正“记住”你

本文介绍了OpenClaw AI助理的持久记忆与RAG知识库构建功能。OpenClaw采用"文件即真理"的独特设计,所有记忆都以Markdown文件形式存储,支持直接编辑和Git版本管理。记忆系统分为三层:长期精炼记忆(MEMORY.md)、日常日志(按日期存储)和归档记忆。文章详细说明了环境配置步骤,包括安装必要组件、创建目录结构、设置API密钥,并提供了OpenClaw主配置文件的完整参数说明。该系统实现了跨会话、跨平台的持久化记忆,使AI助理能真正理解用户需求。

PeterPan的博客 1171

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

DirectFB概述

1简介DirectFB是一个轻量级的提供硬件图形加速,输入设备处理和抽象的图形库,它集成了支持半透明的视窗系统以及在Linux Framebuffer驱动之上的多层显示。它是一个用软件封装当前硬件无法支持的图形算法来完成硬件加速的层。DirectFB是为嵌入式系统而设计。 它是以最小的资源开销来实现最高的硬件加速性能。1.1目标最大限度的硬件加速提供高级图形运算包括多层alpha颜色混合模式利用现

link_nini的专栏 1419

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

解决编译时出现的警告:format string is not a string literal (potentially insecure)

转载自:http://www.cocoachina.com/bbs/read.php?tid=87645        在Xcode 4.2(iOS 5)之前,我猜大家都和我一样很喜欢下面的调试输出写法: ? 1 2 3 4 5 6 7 8 9 10 11 12 13

tangaowen的专栏 3万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

opt/buildroot-gcc342/bin/mipsel-linux-gcc: Command not found解决办法

1. Command not found错误的确认 用mipsel-linux-uclibc-gcc编译Uboot 时,出现Command not found错误,但是我检查了编译工具的路径等是正确的, 之后在编译工具目录直接运行mipsel-linux-uclibc-gcc -v,也会出现Command not found,所以确定该问题跟编译工 具本身或系统环境有关。 通

chuanzhilong的博客 1万+

mipsel下gdb调试工具编译

下载gdb-7.3a.tar.gz http://www.sourceware.org/pub/gdb/releases/ 执行./configure --host=mipsel-linux --target=mipsel-linux --prefix=/home/zengzhihao/gdb-all make && make install 拷贝至开发板,执行 /gdb -args /nfs/micro_sw/microprint 接收到信号忽略掉 handle S..

bewinged 490
上一篇: MFC加载位图文件
下一篇: opencv实例matching_to_many_images不能使用surf解决
robitmind
博客等级 码龄14年 35粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值