跳过不兼容的库 (mkbundle)

发布于 2024-12-25 10:51:38 字数 639 浏览 2 评论 0原文

我有一个 .Net 程序,使用“mono Program.exe”可以正常工作,但现在我尝试在同一台计算机上使用“mkbundle -o prog Program.exe --deps”,它返回以下错误:

/usr/bin/ld: 跳过不兼容 搜索时为 /opt/novell/mono/lib/pkgconfig/../../lib/libmono-2.0.so 对于 -lmano-2.0 /usr/bin/ld:跳过不兼容 搜索时为 /opt/novell/mono/lib/pkgconfig/../../lib/libmono-2.0.a 对于 -lmano-2.0 /usr/bin/ld:找不到 -lmano-2.0 收集2:ld 返回 1 退出状态

系统是 x86_64 上的 CentOS 5.7。我已使用这些说明在此系统上安装了mono 。有谁知道为什么 mono 有效,但 mkbundle 不行?我该如何修复它?

I have a .Net program, which works fine using "mono Program.exe", but now I am trying to use "mkbundle -o prog Program.exe --deps" on the SAME machine, and it returns the following error:

/usr/bin/ld: skipping incompatible
/opt/novell/mono/lib/pkgconfig/../../lib/libmono-2.0.so when searching
for -lmono-2.0 /usr/bin/ld: skipping incompatible
/opt/novell/mono/lib/pkgconfig/../../lib/libmono-2.0.a when searching
for -lmono-2.0 /usr/bin/ld: cannot find -lmono-2.0 collect2: ld
returned 1 exit status

The system is CentOS 5.7 on x86_64. I have installed mono on this system using these instructions. Does anyone know why mono works, but mkbundle doesn't? How can I fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

网白 2025-01-01 10:51:38

您可能安装了 32 位版本的 mono(适用于像您这样的 x86_64 系统),但 mkbundle 将尝试使用默认编译器设置(64 位)进行编译,并且仅找到该库的 32 位版本。
要解决这个问题,您必须安装 64 位版本的 mono 来匹配您的系统,或者(假设您还安装了其余所需的 32 位库,如 libc 和编译器)在 32 位模式下使用 mkbundle 进行编译,方法是添加mkbundle 在控制台上打印的编译器命令行的 -m32 选项(您还需要使用 mkbundle 的 -c 选项)。

You likely installed the 32bit version of mono (which works on x86_64 systems like yours), but mkbundle will try to compile with the default compiler settings (which are 64bit) and only find the 32 bit version of the library.
To solve the issue you have either to install the 64 bit version of mono to match your system or (assuming you install also the rest of the needed 32 bit libraries, like libc and compilers) compile with mkbundle in 32 bit mode, by adding the -m32 option to the compiler command line that mkbundle prints on the console (you'll also need to use the -c option to mkbundle).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文