0

「monoProgram.exe」を使用して正常に動作する.Netプログラムがありますが、同じマシンで「mkbundle -o prog Program.exe --deps」を使用しようとすると、次のエラーが返されます。

/ usr / bin / ld:互換性のない/opt/novell/mono/lib/pkgconfig/../../lib/libmono-2.0.soをスキップして-lmono-2.0を検索/ usr / bin / ld:互換性のない/をスキップopt / novell / mono / lib / pkgconfig /../../ lib/libmono-2.0.a-lmono-2.0を検索する場合/usr/ bin / ld:-lmono-2.0が見つかりませんcollect2:ldが1つの終了ステータスを返しました

システムはx86_64上のCentOS5.7です。これらの手順を使用して、このシステムにmonoをインストールしました。モノが機能する理由を誰かが知っていますが、mkbundleは機能しませんか?どうすれば修正できますか?

4

1 に答える 1

1

32ビットバージョンのmono(あなたのようなx86_64システムで動作します)をインストールした可能性がありますが、mkbundleはデフォルトのコンパイラ設定(64ビット)でコンパイルを試み、ライブラリの32ビットバージョンのみを検出します。この問題を解決するには、システムに合わせて64ビットバージョンのmonoをインストールするか、(libcやコンパイラなどの必要な32ビットライブラリの残りもインストールすると仮定して)32ビットモードでmkbundleを使用してコンパイルする必要があります。 mkbundleがコンソールに出力するコンパイラコマンドラインの-m32オプション(mkbundleには-cオプションも使用する必要があります)。

于 2012-01-09T08:16:58.477 に答える