秋·风

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

交叉编译为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

QQ_1792653302351

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

posted on 2026-10-22 12:40  秋·风  阅读(6)  评论(0)    收藏  举报