c++ - 在 amd64 Debian 上编译 i386 二进制文件?

标签 c++ c gcc debian wine

我正在尝试构建 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/

相关文章:

c++ - 初始化和维护结构的结构

c++ - C++工作草案的措辞可能有缺陷(整数转换等级规则)

c - C 变量在底层包含哪些信息?

c - 访问 C 文件中的汇编宏函数/指令

c - 在 gcc 中使用 -g 和 -O2 选项

linux - 通过 gcc 的 -finstrument-functions 选项打印行号

c++ - 创建柯南 test_package 配方

c++ - 如何在这个程序的输出中得到整数 35 和 50?

c++ - va_start() 修改堆栈

c - 如何测试c字符串是否包含特定ascii范围之外的字符?