错误:"未定义引用'__udivsmodsi4"在Contiki 2.6中切换编译器时

时间:2014-11-11 01:14:16

标签: gcc compilation compiler-errors msp430 contiki

我正在从contiki 2.7切换到contiki 2.6,但发现sky-shell-exec示例不是用contiki 2.6中的msp430-gcc 4.5.3构建的。要在使用contiki 2.6时解决这个问题,我正在尝试安装msp430-gcc 4.6.3。

我已从http://helpdesk.jogjaprov.go.id/ubuntu/pool/universe/g/gcc-msp430/

下载了针对4.6.3的deb软件包

并使用以下命令尝试并安装它:

sudo apt-get remove gcc*
sudo apt-get remove gcc-msp430
sudo dpkg --force-all -i ~/Downloads/gcc-msp430_4.6.3~mspgcc-20120406-3_i386.deb
sudo apt-get -f install

当我执行 msp430-gcc --version 时,它返回:

msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched) 

所以它似乎有效......

然而,当我尝试做一个make sky-shell-exec.sky TARGET = sky in examples / sky-shell-exec /我得到两个跟随错误:

usr/lib/gcc/msp430/4.6.3/../../../../msp430/lib/mmpy-16/libc.a(vuprintf.o): In function `vuprintf':
/build/buildd/msp430-libc-20110612/src/./stdlib/vuprintf.c:387: undefined reference to `__udivmodsi4'
/build/buildd/msp430-libc-20110612/src/./stdlib/vuprintf.c:397: undefined reference to `__udivmodsi4'
collect2: ld returned 1 exit status
make: *** [sky-shell-exec.sky] Error 1
我开始以为这可能意味着这可能意味着我的系统有两个不同的版本。但是,我无法证实或否认这一点。 我用http://www.george-smart.co.uk/wiki/Installing_Contiki检查了我的版本输出,除了我的输出显示“... --build = i686-linux-gnu ...”而不是“......”之外,一切都是一样的。 build = x86_64-linux-gnu ...“

我的问题是:

1)我做错了什么?

2)如何将msp430-gcc编译器从4.5.3切换到4.6.3以使用contiki 2.6?

谢谢!

0 个答案:

没有答案