跳过不兼容的错误
Skipping incompatible error
我下载了 nettle 3.0 密码学库并在 ubuntu 上编译了它。
我 运行 举了一个例子,它在 ubuntu 上运行良好。
我将编译后的静态库文件(libnettle.a)添加到我的项目中
contiki 中的 makefile,只需添加:
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 标志还是什么?
如果是什么标志? CFLAG ?
顺便说一下,nettle 库是 32 位的,我已经检查过了。
谢谢
好的。所以我使用以下命令重建库:
./configure --target=msp430 --prefix=/usr/local/Mymsp430
make
make install
将 LDFLAG 更改为
LDFLAGS+= -L/usr/local/Mymsp430/lib/ -lnettle
但我仍然有同样的错误。
您必须使用与您用于构建应用程序的工具链相同的工具链来构建库。
您不能link将 x86 代码转换为为 MSP430 编译的代码,这是一个完全不同的体系结构。
我下载了 nettle 3.0 密码学库并在 ubuntu 上编译了它。 我 运行 举了一个例子,它在 ubuntu 上运行良好。 我将编译后的静态库文件(libnettle.a)添加到我的项目中 contiki 中的 makefile,只需添加:
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 标志还是什么?
如果是什么标志? CFLAG ?
顺便说一下,nettle 库是 32 位的,我已经检查过了。
谢谢
好的。所以我使用以下命令重建库:
./configure --target=msp430 --prefix=/usr/local/Mymsp430
make
make install
将 LDFLAG 更改为
LDFLAGS+= -L/usr/local/Mymsp430/lib/ -lnettle
但我仍然有同样的错误。
您必须使用与您用于构建应用程序的工具链相同的工具链来构建库。
您不能link将 x86 代码转换为为 MSP430 编译的代码,这是一个完全不同的体系结构。