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