gcc 为系统库使用了错误的 ldfile
gcc using the wrong ldfile for system llibrary
我正在尝试为 ARM (Xvisor) 编译一个开源项目,但显然 gcc 使用了错误的 ldfile 到 link 库 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。
解决方案是 Makefile 使用 gcc
工具而不是交叉编译 gcc:arm-eabi-gcc
尝试重新安装 build-essential 包
sudo apt-get remove build-essential && sudo apt-get install build-essential
/usr/gnat
不是系统库的主目录
我正在尝试为 ARM (Xvisor) 编译一个开源项目,但显然 gcc 使用了错误的 ldfile 到 link 库 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。
解决方案是 Makefile 使用 gcc
工具而不是交叉编译 gcc:arm-eabi-gcc
尝试重新安装 build-essential 包
sudo apt-get remove build-essential && sudo apt-get install build-essential
/usr/gnat
不是系统库的主目录