64ビットLinux上でDMDしてコンパイルまたは32ビットのオブジェクトファイルとのリンク

StackOverflow https://stackoverflow.com/questions/856328

質問

64ビットマシン上でDMDを使ってプログラムをコンパイルするための最良の方法は何ですか?これは、64ビットのコードにコンパイルする必要はありません。私はGDCについて知っているが、また、D2と仕事をしたいです。そこにchrootでもありますが、簡単な方法を望んでいます。

実際の問題は、コンパイルが、リンクではありません。 DMDは、システムライブラリとのリンクを実行するためにGCCに呼び出します。私は、DMDは、32ビットのライブラリに対するGCCのリンクを持って取得できますか?または私はそれを手動でどのように行うのでしょうか?

私はすでに、私はDMDを実行できる理由であるIA32ライブラリがインストールされています。

役に立ちましたか?

解決

これ'-m32'フラグを渡すことによって、32ビットのリンクを行うためにGCCを確認して下さい。

DMDがリンクを実行するためにgccを起動していないように見えるのではなく、直接ldを起動します。同等のldスイッチが'-melf_i386'ある、と明らかにDMDがリンカにそのオプションを渡すようにする方法は'-L-melf_i386'フラグである。

多くのシステムは、ランタイムと開発ライブラリを分離することに注意してください。 32ビットランタイムパッケージは、ほとんどの場合、デフォルトでインストールされますが、32ビットの開発パッケージができない場合があります。

あなたが必要とするには、32ビットプログラムを構築するためにの開発の32ビットパッケージを。 32ビットDMDが実行できるという事実は、それ自体では、あなたが32ビットプログラムを構築するために必要なすべての32ビット・ライブラリーを持っていることを証明していません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top