Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
模拟器_simulator
VisualStudio
使用ming64和vs2019编译v5.0.2和master的bsp/simulator报错
发布于 2024-03-18 13:34:40 浏览:356
订阅该版
[tocm] 进行飞控开发的时候,在上硬件之前会进行各种虚拟飞行仿真,之前已经使用bsp/qemu-vexpress-a9制作了飞行仿真工具,但是感觉qemu还是麻烦,特别配合vscode进行单点调试不方便。如果直接使用bsp/simulator编译成exe,然后使用宇宙第一大IDE的mingw64+vs调试岂不是快哉。 由于项目中遗留有很多gcc的代码,直接使用vs是无法编译的(比如变维度数组、部分GNU下的宏展开),因此想先生成camke然后在vs中加载cmake进行编译调试。 接下来尝试对多个版本的[bsp/simulator](https://github.com/RT-Thread/rt-thread/tree/master/bsp/simulator)进行编。 # 首先是使用vs2019编译 在windows-env中,手下通过以下命令生成vs2012工程 ``` # 在windows-env终端 cd rt-thread/bsp/simulator # 生成vs2012工程 scons --target=vs2012 ``` 双击打开自动生成project.vcxproj,运行vs2019编译,提示的错误信息为: ``` 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): warning C4003: 类函数宏的调用“__MSH_GET_MACRO”参数不足 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2143: 语法错误: 缺少“)”(在“,”的前面) 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2365: “date”: 重定义;以前的定义是“函数” 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(280): message : 参见“date”的声明 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2146: 语法错误: 缺少“;”(在标识符“date”的前面) 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2061: 语法错误: 标识符“and” 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2059: 语法错误:“;” 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2061: 语法错误: 标识符“or” 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2146: 语法错误: 缺少“)”(在标识符“timezone”的前面) 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2061: 语法错误: 标识符“timezone” 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2059: 语法错误:“)” 1>D:\repository\rt-thread\rt-thread\components\drivers\rtc\rtc.c(372,1): error C2059: 语法错误:“[” ``` # 然后尝试mingw64编译 mingw64版本是x86_64-13.2.0-release-win32-seh-ucrt-rt_v11-rev0,下载地址为https://github.com/niXman/mingw-builds-binaries/releases 通过如下指令执行mingw64编译 ``` # 启动windows-env,然后执行 cd rt-thread/bsp/simulator # 设置编译工具链 set RTT_CC=mingw # 设置工具链路径 set RTT_EXEC_PATH=c:/mingw64-13.2.0-rt_v11-rev0/bin # 使用mingw编译工程 scons ``` 提示以下错误信息,就是各种time库和net库错误: ``` scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... scons: building associated VariantDir targets: build CC build\applications\application.o CC build\applications\mnt.o In file included from D:\repository\rt-thread\rt-thread\components\libc\compilers\common\include/sys/time.h:16, from D:\repository\rt-thread\rt-thread\components\drivers\include/drivers/rtc.h:18, from D:\repository\rt-thread\rt-thread\components\drivers\include/rtdevice.h:33, from applications\mnt.c:12: D:\repository\rt-thread\rt-thread\components\libc\compilers\common\extension/sys/types.h:31:26: error: conflicting types for 'ssize_t'; have 'int' 31 | typedef signed int ssize_t; /* Used for a count of bytes or an error indication. */ | ^~~~~~~ In file included from C:/mingw64-13.2.0-rt_v11-rev0/x86_64-w64-mingw32/include/crtdefs.h:10, from C:/mingw64-13.2.0-rt_v11-rev0/x86_64-w64-mingw32/include/stdint.h:28, from C:/mingw64-13.2.0-rt_v11-rev0/lib/gcc/x86_64-w64-mingw32/13.2.0/include/stdint.h:9, from D:\repository\rt-thread\rt-thread\include/rtdef.h:54, from D:\repository\rt-thread\rt-thread\include/rtthread.h:27, from applications\mnt.c:11: ``` # 各个版本编译结果 接着继续对lts-v4.1.x、v5.0.0、v5.0.1、v5.0.2和master测试,结果为 | 版本 | ubuntu 22.0.4 + gcc 11.4 | windows 10 + mingw64-x86_64-13.2.0-win32-seh-ucrt-rt_v11-rev1 | windows 10 + vs2019 (使用scons --target=vs2012生成工程) | | :------------: | :------------: | :------------: | :------------: | | v4.1.x | 不行,提示include/sys/time.h:51:5: error: unknown type name 'suseconds_t' | 不行,提示extension/sys/types.h:31:26: error: conflicting types for 'ssize_t' | 可以 | | v5.0.0 | 不行,提示include/sys/time.h:56:5: error: unknown type name 'suseconds_t' | 不行 | 可以 | | v5.0.1 | 可以 | 不行 | 可以 | | v5.0.2 | 可以 | 不行 | 不行,提示drivers\rtc\rtc.c(372,1): warning C4003: 类函数宏的调用“__MSH_GET_MACRO”参数不足 | | master | 可以,由于.config文件过期了,需要先scons --menuconfig,然后保存 | 不行 | 不行,提示__MSH_GET_MACRO参数不足 | 不知道是不是我的姿势不对还是环境没有配置好!!!!!
查看更多
2
个回答
默认排序
按发布时间排序
latercomer
2024-03-18
这家伙很懒,什么也没写!
对比了下5.0.1和5.0.2的代码,finsh.h中对对MSH宏进行了修改,增加变参数的支持,估计是vs对变参数支持不好。如果将vs2019项目属性的“C语言标准”更换为“ISO C11 标准 (/std:c11)”则提示 ``` 1>正在生成代码... 1>shell.c 1>msh.c 1>msh_parse.c 1>cmd.c 1>D:\repository\rt-thread\rt-thread\components\finsh\cmd.c(1020,1): error C2133: “cmd_list_msh_options”: 未知的大小 1>msh_file.c 1>正在生成代码... ```
燕尘
2024-08-29
这家伙很懒,什么也没写!
现在快9月份了,Win10 + MingW 编译还是这个错误提示。 忽然想起来: linux 能够编译的话,用 mingw64 编译会如何?
撰写答案
登录
注册新账号
关注者
0
被浏览
356
关于作者
latercomer
这家伙很懒,什么也没写!
提问
9
回答
21
被采纳
2
关注TA
发私信
相关问题
1
rtthread simulator中能够使用WIN10中得TCP/IP服务吗
2
simulator工程的线程调度存在缺陷,导致程序非常容易崩溃
3
软仿真simulator调试767不能显示输出信息
4
Simulator 编译S_IRUSR这些申明未找到
5
f401-qemu???
6
运行qemu.bat出现'qemu-img' is not recognized
7
rtthread_simulator_v0.1.0 例子 LED
8
simulator 无法产生exe
9
rtt的simulator可以在linux上跑吗?想RTT生态的程序在嵌入式linux跑起来
10
LVGL模拟器VS编译不成功
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部