gcc使用错误的ldfile进行系统llibrary

时间:2017-10-17 07:08:02

标签: c gcc ld

我正在尝试为ARM(Xvisor)编译一个开源项目,但显然gcc正在使用错误的ldfile链接库libncurse,当我编译时,我收到以下错误:

/usr/gnat/bin/../libexec/gcc/x86_64-pc-linux-gnu/6.3.1/ld: cannot find libncurses.so.5

ldconfig似乎有图书馆

ldconfig -p | grep "curse"
libncursesw.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncursesw.so.5
libncurses.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncurses.so.5
libncurses.so.5 (libc6) => /lib/i386-linux-gnu/libncurses.so.5
libncurses.so.5 (libc6) => /lib32/libncurses.so.5

我不明白为什么gcc使用gnat ldfile而不是系统ldfile。

2 个答案:

答案 0 :(得分:1)

解决方案是Makefile使用gcc工具而不是交叉编译gcc:arm-eabi-gcc

答案 1 :(得分:1)

尝试重新安装build-essential软件包

sudo apt-get remove build-essential && sudo apt-get install build-essential

/usr/gnat不是系统库的主目录