争怎路由网/系统工具/内容

error: conflicting types for 'RTASSERTVAR'的处理方法

系统工具2024-06-14 阅读
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
编译virtualbox additions的时候出现如下错误:
vboxguest-5.0.4/vboxguest/include/iprt/lockvalidator.h:64:1: error: conflicting types for 'RTASSERTVAR'
vboxguest-5.0.4/vboxguest/include/iprt/lockvalidator.h:64:1: note: previous declaration of 'RTASSERTVAR' was here
 
解决方法:
在最外层Makefile中加入”export BUILD_TARGET_ARCH=x86”解决.
 
问题分析:
通过查找关键字’RTASSERTVAR’发现vboxguest-5.0.4源码中除了有引用此变量外,并无定义. 神奇般的想到可以是编译环境原因,最后通过查看makefile发现,源码中有关于编译架构的变量,通过在最外层Makefile中导出变量”export BUILD_TARGET_ARCH=x86”来解决此问题.
知道”RTASSERTVAR”变量具体哪里定义或者代表啥的可以留言,以便后来着能知其然,也知其所以然.

Linux是一套免费使用和自由传播的类Unix操作系统



……

相关阅读