我正在尝试构建 fsthost在 64 位 Debian Stable 上,最后(链接)步骤失败:
m@debian:~/Downloads/fsthost-1.5.4$ make
winegcc -m32 -o fsthost32 amc_32.o jackamc_32.o fst_32.o gtk_32.o jackvst_32.o \
jfst_32.o fxb_32.o fps_32.o vstwin_32.o cpuusage_32.o info_32.o \
midifilter_32.o list_32.o -m32 -mwindows -L/usr/lib/i386-linux-gnu/wine \
-lpthread -lX11 -ljack -lxml2 -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 \
-lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo \
-lgobject-2.0 -lglib-2.0
/usr/bin/ld: cannot find -lX11
/usr/bin/ld: cannot find -ljack
/usr/bin/ld: cannot find -lxml2
/usr/bin/ld: cannot find -lgtk-3
/usr/bin/ld: cannot find -lgdk-3
/usr/bin/ld: cannot find -latk-1.0
/usr/bin/ld: cannot find -lgio-2.0
/usr/bin/ld: cannot find -lpangocairo-1.0
/usr/bin/ld: cannot find -lgdk_pixbuf-2.0
/usr/bin/ld: cannot find -lcairo-gobject
/usr/bin/ld: cannot find -lpango-1.0
/usr/bin/ld: cannot find -lcairo
/usr/bin/ld: cannot find -lgobject-2.0
/usr/bin/ld: cannot find -lglib-2.0
collect2: error: ld returned 1 exit status
winegcc: gcc failed
make: *** [fsthost32] Error 2
m@debian:~/Downloads/fsthost-1.5.4$
注意,winegcc
这里使用的不是gcc
.
所以,ld
声称没有 libX11.so
,让我们检查一下:
m@debian:~$ locate libX11.so
/usr/lib/i386-linux-gnu/libX11.so.6
/usr/lib/i386-linux-gnu/libX11.so.6.3.0
/usr/lib/x86_64-linux-gnu/libX11.so
/usr/lib/x86_64-linux-gnu/libX11.so.6
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
m@debian:~$
宾果游戏!没有 /usr/lib/***i386***-linux-gnu/libX11.***so***
!当我从 /usr/lib/i386-linux-gnu/libX11.so
手动添加符号链接(symbolic link)时至 /usr/lib/i386-linux-gnu/libX11.so.6
, 行:
/usr/bin/ld: cannot find -lX11
显然从ld
中消失的输出。
为什么没有*.so
i386-linux-gnu
中的符号链接(symbolic link)目录,我应该如何从这里开始?
最佳答案
如果您有共享库但缺少 *.so 符号链接(symbolic link),这似乎表明您安装了运行时库包而不是开发库包。您安装的用于创建 i386-linux-gnu
目录的包的名称是什么?我会搜索名称中包含“dev”或类似名称的相关软件包并尝试安装它们。
这里只是猜测,但您可能缺少的包是 ia32-libs-dev
关于c++ - 在 amd64 Debian 上编译 i386 二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24530721/