gtkd ライブラリを使用して hello world プログラムをコンパイルしようとしています。
私は dmd コンパイラ ( ~/ ディレクトリにインストールされています) を使用しており、コンパイラが問題なく動作することを既に確認しています。
念のため、私のソースコードは次のとおりです。
//pragma(lib, "gtkd");
//pragma(lib, "dl");
import gtk.MainWindow;
import gtk.Label;
import gtk.Main;
void main(string[] args)
{
Main.init(args);
MainWindow win = new MainWindow("Hello World");
win.setDefaultSize(200, 100);
win.add(new Label("Hello World"));
win.showAll();
Main.run();
}
プラグマはコメント アウトされています。なぜなら (私がこれを正しく理解していれば)、プラグマは -Ll フラグ以上のことは何もせず、解決策に近づくこともできなかったからです。とにかく、ファイルを保存した後、次を実行します。
dmd hello.d -L-lgtkd -L-ldl
次のエラーが表示されます。
/usr/bin/ld: cannot find -lgtkd
collect2: error: ld returned 1 exit status
--- errorlevel 1
すでに libgtkd-3.a、libgtkdgl-3.a、および libgtkdsv-3.a を /usr/lib にコピーしましたが、ターミナルの出力は同じままでした。リンカが私のファイルを見つけられないことは理解していますが、リンカがそうするのを助ける方法が他にありません。
インストールの詳細については、この投稿とまったく同じようにすべてをセットアップしました。問題があるかどうかはわかりませんが、私のコンピューターは debian wheezy ベースのディストリビューションである crunchbang を実行しています。前もってありがとう、R