【发布时间】:2016-11-13 19:13:51
【问题描述】:
我正在尝试从 64 位 linux 为 32 位 linux 编译 GTK 应用程序。
当我运行这个命令时:
gcc main.c -m32 -mms-bitfields -o output/main `pkg-config --cflags --libs gtk+-3.0` && ./output/main
我收到以下错误:
/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
运行 Linux Mint 17.2 Rafaela。
我有所有必需的包,我什至包括了-m32 选项,但它仍然不起作用。
还有一个类似的问题here 没有被接受的答案。
编辑:
下面接受的答案建议我安装 32 位版本的 libgtk-3-dev。如果不删除重要的系统包,我就无法做到这一点。最后,我只好使用安装了 32 位版本的 libgtk-3-dev 的 32 位 Linux 发行版。
【问题讨论】:
标签: linux gcc gtk cross-platform cpu-architecture