error:expected unqualified-id before string constant extern "C" { ”
Q:Qt 中编译时出现 “expected unqualified-id before string constant extern "C" { ” 错误的原因?
例如编译报错图如下:
其中图上错误指向开源串口库头文件 termios.h ,该文件中在 “ extern "C" { ” 处编译报错,该错误
原因为改文件中可能存在 “;”、“}”、“)” 等括号未匹配或者缺少分号等造成的文件中格式出现问题,
或者为该文件被人为修改替换导致的格式问题。
解决方法:
(1)通过补充缺失的括号以及分号使得文件格式正确;
(2)重新更换为原来的文件后重新编译。
更多扩展知识见:
Related Articles
使用 extern inline 后编译报错
IDE 5.0 以上编译 extern inline 的函数后会产生error,在IDE4.0的版本时编译同一工程时不会报错可以正常编译。 因为IDE 4.0 gcc 版本为 4.9.3,需要使用传统模式进行编译 ,在IDE5,0 中 gcc 版本为 10.2.1 对于 inline 函数的解释标准过高,无法正常编译。 The option -fgnu89-inline tells gcc to use traditional GNU semantics for "inline" ...
SylixOS 中 CTRL + C 的大致处理流程
Q:SylixOS 中 CTRL + C 的大致处理流程 (1)当键盘按下 CTRL+C 时,主机就向目标板发送一个控制字符,其 ASSIC 码为 0x03,在 SylixOS 下常用的控制字符如下,此定义是在 tyLib.c 文件中。 /********************************************************************************************************* 全局变量(控制字 ...
error: skipping incompatible xxxxx when searching for -lxxx
Q:qt 编译失败,报错信息为 “error: skipping incompatible D:/ACOINFO/workspace_base2.1.6/Base_x64/libcextern/Release\libcextern.a when searching for -lcextern”,等如下图所示 该报错打印是由于 qt 程序编译时使用的工具链与 Base 工程类型不兼容导致的,此时需检查 qt 选项 kit 配置中编译链和依赖的 Base ...
QT 程序启动加载流程简介
1. QT应用程序启动加载流程简介 1.1 QWS与QPA启动客户端程序区别 1.1.1 QWS(Qt Window System)介绍 QWS(Qt Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者通过socket进行彼此的通讯。在很多嵌入式系统里,QT程序基本上都是用QWS来实现,这样保证程序的可移植性。 在运行QT程序时添加-qws参数,表示这个程序是QWS ...
不同版本QT通过VNC显示及修改分辨率
Q:不同版本 QT 如何通过 VNC 显示以及分辨率如何修改? QT4: VNC显示: 1.确认应用程序可以正常运行; 2.在SylixOS下设置环境变量QWS_DISPLAY并保存;具体操作步骤如下: a.通过shell界面,env命令查看环境变量; b.设置环境变量QWS_DISPLAY,例如:QWS_DISPLAY=VNC:sylixosfb:/dev/fb0; c.通过命令varsave保存环境变量。 3.再次运行QT4应用即可通过VNC显示。 ...