我正在尝试在ubuntu 15.04 64位系统中安装qemu-0.14.1。在给出make命令时,它会给出以下错误:
../ slirp / misc.o:在函数memset':
/usr/include/x86_64-linux-gnu/bits/string3.h:86: warning: memset used with constant zero length parameter; this could be due to transposed parameters
../qemu-timer.o: In function
dynticks_start_timer'中:
/home/shruti/Downloads/qemu-0.14.1/qemu-timer.c:862:对timer_create'
../qemu-timer.o: In function
dynticks_rearm_timer'的未定义引用:
/home/shruti/Downloads/qemu-0.14.1/qemu-timer.c:901:对timer_gettime'
/home/shruti/Downloads/qemu-0.14.1/qemu-timer.c:914: undefined reference to
timer_settime'的未定义引用
../qemu-timer.o:在函数dynticks_stop_timer':
/home/shruti/Downloads/qemu-0.14.1/qemu-timer.c:880: undefined reference to
timer_delete'中
collect2:错误:ld返回1退出状态
Makefile:347:目标'qemu-system-arm'的配方失败
make [1]: * [qemu-system-arm]错误1
Makefile:84:目标'subdir-arm-softmmu'的配方失败
make:* [subdir-arm-softmmu]错误2
任何人都可以指导正确的步骤以及为什么此错误与计时器对象文件有关。
答案 0 :(得分:0)
通过添加
编辑两个文件Makefile和Makefile.target来解决问题LIBS + = - lz -lrt -lm
答案 1 :(得分:0)
检查是否安装了正确的GCC / G ++版本。 我的建议是为您的应用程序使用默认的gcc 7。
在Ubuntu上安装GCC C编译器,逐步说明
安装多个C和C ++编译器版本:
$ sudo apt install build-essential
$ sudo apt -y install gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9
使用update-alternatives工具创建多个GCC和G ++编译器替代项的列表:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9
检查Ubuntu系统上可用的C和C ++编译器列表,并通过输入相关的选择号来选择所需的版本:
$ sudo update-alternatives --config gcc
替代gcc(提供/ usr / bin / gcc)有3种选择。
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/gcc-9 9 auto mode
1 /usr/bin/gcc-7 7 manual mode
* 2 /usr/bin/gcc-8 8 manual mode
3 /usr/bin/gcc-9 9 manual mode
按保留当前选择[*],或键入选择编号: 对于C ++编译器,请执行:
$ sudo update-alternatives --config g++
替代g ++(提供/ usr / bin / g ++)有3种选择。
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/g++-9 9 auto mode
1 /usr/bin/g++-7 7 manual mode
2 /usr/bin/g++-8 8 manual mode
3 /usr/bin/g++-9 9 manual mode
按保留当前选择[*],或键入选择编号: 每次切换后,请检查您当前选择的编译器版本:
$ gcc --version
$ g++ --version