在64位系统中,如果我尝试使用:
编译configure
测试,则会失败
$ gcc -m32 -o conftest -L/usr/lib/i386-linux-gnu/ conftest.c -lfreetype
/usr/bin/ld: cannot find -lfreetype
collect2: ld returned 1 exit status
但如果我这样做会成功:
$ gcc -m32 -o conftest conftest.c /usr/lib/i386-linux-gnu/libfreetype.so.6
为什么不能在第一种情况下找到32位libfreetype.so.6?
答案 0 :(得分:3)
运行时和开发系统之间存在差异。链接器正在寻找libfreetype.so
并且没有找到它。运行时程序正在寻找libfreetype.so.6
并找到它。
您应该安装FreeType开发包。
在付出这么多努力之前,您可以首先检查libfreetype.so
中/usr/lib/i386-linux-gnu
是否存在,然后使用root权限来验证此假设:
cd /usr/lib/i386-linux-gnu
ln -s libfreetype.so.6 libfreetype.so
然后重试第一个命令行。
如果可行,则删除刚刚创建的符号链接,然后安装FreeType开发包。