引入宽字符error: converting to execution character set: Invalid or incomplete multibyte or wide character

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26093511/article/details/60593240


交叉编译.c文件,遇到如下问题

arm-linux-gcc -o show_lines show_lines.c -lfreetype -lm
show_lines.c:199:19: error: converting to execution character set: Invalid or incomplete multibyte or wide character

大概意思是,转换为执行字符集:无效的或不完整的宽字节

解决方案:编译时,再加入  -finput-charset=GBK

arm-linux-gcc -o show_lines show_lines.c -lfreetype -lm-finput-charset=GBK

原因是,我是在windows下编写的.c文件,windows下保存的文件默认是GBK,而在linux下默认编译时认为文件是以UTF-8方式保存的。
--------------------- 
版权声明:本文为CSDN博主「Alen.Wang」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_26093511/article/details/60593240

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/384527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux交叉编译时报错:file not recognized: File format not recognized

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/u011113596/article/details/80325081 今天交叉编译sqlite3,make的时候报错:…

arm-linux-gcc静态编译和动态编译的区别

很多教程会提到加上-static是静态编译,但对于新手来说没有用例子来说明可能不太好理解,今天我就介绍一下关于这方面知识的一个例子: 最近在做一个关于freetype字体的东西,需要依赖freetype官方提供的库,我已经把电脑这…

从0到1写RT-Thread内核——线程定义及切换的实现

从0写RT-Thread内核之线程定义及切换的实现具体可以分为以下六步来实现 一:分别定义线程栈、线程函数、线程控制块; ALIGN(RT_ALIGN_SIZE)//设置4字节对齐 /* 定义线程栈 */ rt_uint8_t rt_flag1_thread_stack[512]; rt_uint8_t rt_flag2_thread_stack…

从0到1写RT-Thread内核——临界段的保护

临界段就是一段在执行的时候不能被中断的代码段,在RT-Thread里,临界段最常出现的就是对全局变量的操作(类似Linux下的锁)。RT-Thread对临界段的保护是直接把中断全部关了,NMI FAULT和硬FAULT除外。下图是3个关于中断屏…

从0到1写RT-Thread内核——空闲线程与阻塞延时的实现

在之前写的另外一篇文章——<从0到1写RT-Thread内核——线程定义及切换的实现>中线程体内的延时使用的是软件延时&#xff0c;即还是让CPU空等来达到延时的效果。RTOS中的延时叫阻塞延时&#xff0c;即线程需要延时的时候&#xff0c;线程会放弃CPU的使用权&#xff0c;C…

从0到1写RT-Thread内核——支持多优先级

在本章之前&#xff0c;RT-Thread还没有支持多优先级&#xff0c;我们手动指定了第一个运行的线程&#xff0c;并在此之后三个线程&#xff08;包括空闲线程&#xff09;互相切换&#xff0c;在本章中我们加入优先级的功能&#xff0c;第一个运行的程序是就绪列表里优先级最高的…

Linux串口阻塞与非阻塞

Linux串口编程的阻塞与否可以在open函数中设置&#xff0c;例如&#xff1a; 打开时使用&#xff1a; fd open(USAR1, O_RDWR | O_NOCTTY );//阻塞式读写fd open("/dev/ttyAT2",O_RDWR|O_NOCTTY|O_NDELAY); //非阻塞读写 除了用open函数之外还可以在open函数之…

vi中如何实现批量替换

将文件tihuan&#xff08;假设此文本中字符a&#xff09;中的所有字符a换成字符w&#xff0c;其命令为&#xff1a; 1。vi tihuan 2。按esc键 3。按shift&#xff1a; 4。在&#xff1a;后输入 %s/a/w/g 其中s为&#xff1a;substitute&#xff0c;%表示所有行&#xff0c;…

C++里数组名+1和数组名的地址+1的区别

C/C里面的数组名字会退化为指针&#xff0c;所以数组名a实际指的是数组的第一个元素的地址。而数组名作为指针来讲有特殊性&#xff0c;它正在它所指向的内存区域中&#xff0c;&a的值和a的数值是相同的&#xff08;可以输出观察一下&#xff09;&#xff0c;但是类型和意义…

栈空间和堆空间的区别

栈空间用于存储函数参数和局部变量&#xff0c;所需空间由系统自动分配&#xff0c;回收也由系统管理&#xff0c;无需人工干预&#xff1b;堆空间用于存储动态分配的内存块&#xff0c;分配和释放空间均由程序员控制&#xff0c;有可能产生内存泄漏。 栈空间作为一个严格后进…

AD软件之模块化原理图

首先我们创建两个原理图文件 然后我们在Sheet2.SchDoc里放置一个页面符并双击绿色的方框 选择目标文件 我们选择我们刚才创建的Sheet4.SchDoc 然后在 视图——>面板——>Navigator选项 里点一下交互式导航 就可以看到Sheet4.SchDoc被添加到Sheet2.SchDoc下面了 通过上面…

进程与线程的区别(面试题)

进程与线程的区别 1.进程是资源分配最小单位&#xff0c;线程是程序执行的最小单位&#xff1b; 2..进程有自己独立的地址空间&#xff0c;每启动一个进程&#xff0c;系统都会为其分配地址空间&#xff0c;建立数据表来维护代码段、堆栈段和数据段&#xff0c;线程没有独立的…

查找表的原理与结构 什么是竞争与冒险现象?怎样判断?如何消除?

查找表的原理与结构&#xff1a; 查找表&#xff08;look-up-table&#xff09;简称为LUT&#xff0c;LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT&#xff0c;所以每一个LUT可以看成一个有 4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以…

AD软件操作技巧

本文介绍一些关于AD软件的实用小操作&#xff0c;这些小技巧可以大大的减少我们的工作量 一.批量操作丝印&#xff08;或者操作别的东西也可以&#xff0c;主要是凸显批量操作的思想&#xff09; 如下图假设我们工程里有很多丝印和焊盘等等&#xff0c;现在我想改批量地修改丝…

冒泡排序算法,C语言冒泡排序算法详解

冒泡排序是最简单的排序方法&#xff0c;理解起来容易。虽然它的计算步骤比较多&#xff0c;不是最快的&#xff0c;但它是最基本的&#xff0c;初学者一定要掌握。 冒泡排序的原理是&#xff1a;从左到右&#xff0c;相邻元素进行比较。每次比较一轮&#xff0c;就会找到序列中…

白话经典算法系列之六 快速排序 快速搞定

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高&#xff0c;因此经常被采用&#xff0c;再加上快速排序思想----分治法也确实实用&#xff0c;因此很多软件公司的笔试面试&#xff0c;包括像腾讯&#xff0c;微软等知名IT公司都喜欢考这个&#xff0c;还有大大小…

c语言中判断一个字符串是否包含另一个字符串

1. 使用库函数 string.h strstr函数 函数名: strstr 功 能: 在串中查找指定字符串的第一次出现 用 法: char *strstr(char *str1, char *str2); 说明&#xff1a;返回指向第一次出现str2位置的指针&#xff0c;如果没找到则返回NULL。 调用函数,判断返回值是否等于NULL…

C语言截取从某位置开始指定长度子字符串方法

c语言标准库没有截取部分字符串的函数&#xff0c;为啥&#xff1f;因为用现有函数strncpy&#xff0c;很容易做到&#xff01; char dest[4] {""}; char src[] {"123456789"}; strncpy(dest, src, 3); puts(dest); 输出结果为 123 看到了吗&#xff…

Modbus通讯协议详细解释

https://blog.csdn.net/rxiang12/article/details/79125813

V4L2框架分析

V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。v4L2是针对uvc&#xff08;USB Video Class&#xff09;免驱usb设备的编程框架&#xff0c;主要用于采集usb摄像头等。 下图是V4L2的框架&#xff0c;首先系统核心层分配设置注册一个名为cdev结构体变量&#x…