跳过不兼容的库(mkbundle)

时间:2012-01-08 15:37:38

标签: .net mono centos centos5 mkbundle

我有一个.Net程序,使用“mono Program.exe”工作正常,但现在我想在SAME机器上使用“mkbundle -o prog Program.exe --deps”,它返回以下内容错误:

  

/ usr / bin / ld:跳过不兼容   /opt/novell/mono/lib/pkgconfig/../../lib/libmono-2.0.so搜索时   for -lmono-2.0 / usr / bin / ld:跳过不兼容   /opt/novell/mono/lib/pkgconfig/../../lib/libmono-2.0.a搜索时   for -lmono-2.0 / usr / bin / ld:找不到-lmono-2.0 collect2:ld   返回1退出状态

系统是x86_64上的CentOS 5.7。我已使用these指令在此系统上安装了mono。有谁知道为什么单声道工作,但mkbundle不?我该如何解决?

1 个答案:

答案 0 :(得分:1)

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