交叉编译为32位的mipsel gtk2应用在mips64el 64位环境下执行执行时出错
交叉编译为32位的mipsel gtk2应用,在mips64el 64环境下执行执行时出错:
提示:
error while loading shared libraries: libgdk-x11-2.0.so.0: cannot open shared object file: No such file or directory
原因:这台机器是 mips64el,32 位(o32)的 GTK2 只存在于 /opt/mipsel32 里,而 o32 的 ld.so 只搜 /libo32、/usr/libo32。
处理方法:
方法一:把 rpath 写进工程(已改 C:\111\projects\project2.lpi)
────
<CompilerOptions>
...
<Other>
<CustomOptions Value="-k--disable-new-dtags -k-rpath=/opt/mipsel32/usr/lib/mipsel-linux-gnu:/opt/mipsel32/lib/mipsel-linux-gnu"/>
</Other>
────
方法二:自定义选项填上32位gtk2的路径:
-k--disable-new-dtags -k-rpath=/opt/mipsel32/usr/lib/mipsel-linux-gnu:/opt/mipsel32/lib/mipsel-linux-gnu

重新编译后mipsel的32位应用程序就可以在mips64el的电脑执行。

浙公网安备 33010602011771号