我下载了nettle 3.0密码库,并在ubuntu上编译了它。
我运行了一个例子,它在ubuntu上运行良好。
我将编译好的静态库文件(libnettle.a)添加到我的项目中
在contiki中生成文件,只需添加:

LDFLAGS+= -L/usr/local/lib/ -lnettle

当我试图编译节点代码时,我得到了这个
/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../.*./../msp430/bin/ld:skipping incompatible /usr/l*ocal/lib//libnettle.a when searching for -lnettle
/usr/local/msp430/bin/../lib/gcc/msp430/4.7.0/../../.*./../msp430/bin/ld: cannot find -lnettle*
collect2: error: ld returned 1 exit status
rm obj_sky/contiki-sky-main.o test_nettle.co
Process returned error code 2

make: *** [test_nettle.sky] Error 1

我应该加-m32标志还是什么?
如果是什么旗?C弗拉格?
顺便说一下,nettle库是32位的,我查过了。
谢谢你
好 啊。因此,我使用以下命令重建库:
./configure --target=msp430 --prefix=/usr/local/Mymsp430
make
make install

将LDFLAG更改为
LDFLAGS+= -L/usr/local/Mymsp430/lib/ -lnettle

但我还是有同样的错误。

最佳答案

您必须使用与用于构建应用程序的工具链相同的工具链来构建库。
不能将x86代码链接到为MSP430编译的代码中,MSP430是完全不同的体系结构。

08-28 09:36