2011-03-19 7 views
2

私は64ビットのUbuntuで動作しており、DMD v2.052をCode :: Blocksで動作させようとしています。問題は、Code :: Blocksが2つの別々のステップでコンパイルとリンクを行うことであり、私はそれを回避することができないということです。私のコンパイラフラグ(このプロジェクト用)は-m64で、リンカフラグはすべてdmd.confで提供されています。しかし、私はこれを行うにしようとすると、私はエラーを取得し、2つのステップでDMDを使用する:64ビットのリンク(Linux)


Linking console executable: bin/Debug/Gossamer 
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-system.a when searching for -ldsfml-system 
/usr/bin/ld: cannot find -ldsfml-system 
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-graphics.a when searching for -ldsfml-graphics 
/usr/bin/ld: cannot find -ldsfml-graphics 
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-audio.a when searching for -ldsfml-audio 
/usr/bin/ld: cannot find -ldsfml-audio 
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-window.a when searching for -ldsfml-window 
/usr/bin/ld: cannot find -ldsfml-window 
collect2: ld returned 1 exit status 

ように私はdmd -m64 -lib [library source code files]を使用して、DSFMLのLIBSを自分でコンパイルされ、そこには二つのステップではなかったので、私は、彼らがいいですよね。何らかの理由で、彼らが好きではないようです。誰かが助けることができますか?

+0

テストアプリを手動でコンパイルすると、これらのライブラリは機能しますか? – Trass3r

+0

私は何かを使ってライブラリを手に入れることができませんでした。 – bfops

答えて

2

DMDだけでコマンドラインからコンパイルを実行してみてください。それがうまくいけば、DMDにリンクコマンドのコマンドラインを表示させるフラグがあると思います。それで、Code :: Blocksが何を必要としているのかを別々に伝えることができるはずです。

+0

はい。私はいくつかの重要なリンカーフラグ(最も重要なのは-m elf_x86_64)が欠けていた。 – bfops

関連する問題