64ビットubuntu 12.04 LTSで3Dゲーム/グラフィックス/シミュレーションエンジンを開発しています。私のアプリケーションの64ビットバージョンは、コンパイル、リンク、および実行できます。ただし、アプリケーションの32ビットバージョンをビルドすることはできません。次のビルドエラーが発生します。
ld : cannot find -lX11
ld : cannot find -lcairo
ld : cannot find -lpango
ld : cannot find -lfreetype
ld : cannot find -lfmodex
私の想定では、いくつかのライブラリの32ビットバージョンはインストールされていません。ただし、「ubuntu software center」で-i386または:i386接尾辞を持つファイルを検索しても、何も表示されません。たとえば、検索フィールドに「libcairo」と入力すると、次のように表示されます。
libcairo2
libcairo2-dev
libcairo2-doc
libcairo2-dbg
plus a other irrelevant files (bindings for other languages).
どのように検索しても、32ビットライブラリを暗示するパッケージ名は表示されません。
2012年以降(私の場合はubuntu 12.04 LTS)の64ビットLinuxで32ビットの実行可能ファイルを開発する方法は、正確にはどうですか?
開発パッケージは通常、アーキテクチャに依存しません。それ以外の場合、i386(32ビット)ライブラリを取得するには、ia32-libs
Software Centerのパッケージ。これにより、必要なi386ライブラリがすべて自動的に取り込まれます(既にインストールされている64ビットライブラリによって異なります)。