8

ダウンロードして、いくつかのディレクトリgtkD-1.5.1に解凍しました。gtkD次に何をしますか?それをコンパイルしていくつかのライブラリにリンクする必要があるのか​​ 、それともコード内でリンクする必要があるのか​​ わかりません。


編集: (@dsimcha)

dsss buildgtkD main dirのコマンドは私にこれを与えました:

Could not detect versions.
Could not detect versions.
Could not detect versions.
Could not detect versions.
Could not detect versions.
undemofy

Could not detect versions.
Could not detect versions.
atk => DO-atk

cairo => DO-cairo

gdk => DO-gdk

gdkpixbuf => DO-gdkpixbuf

gio => DO-gio

glade => DO-glade

glib => DO-glib

gobject => DO-gobject

gthread => DO-gthread

gtk => DO-gtk

gtkc => DO-gtkc

pango => DO-pango

libが作成されていませんか?

4

5 に答える 5

2

Windows でも DSSS を使用すると問題が発生しました。 Bud/Buildを使用してみてください。

build.exe がパスのどこかにあることを確認してから、gtkD/src/build フォルダーでコマンド ラインを開きます。次に実行build gtkD.brfして作成しますGtkD.lib

DMD のバージョンによっては、多くのエラーが発生します。私が得たもののほとんどは、非推奨の typedef でした。それが起こったファイルはすべて(それが教えてくれます)、typedefをエイリアスにリファクタリングしただけで、うまくいきました。私が得た他のエラーはsrc/gtk/Toolbar.d、とあいまいな仮想関数getOrientation()でした。これを修正するには、getOrientation メソッドにアクセスし src/gtk/OrientableIF.d/src/gtk/ToolShellIF.dコメントアウトします。

最新バージョンの dmd (2.059) を使用するglib/DateTime.dと、コンパイルされません。このファイルをコンパイルするには、メソッドをコメントアウトしますoverride hash_t toHash()

プロジェクトをコンパイルするときは、dmd <source files> -L <C:\Path\To\File>\GtkD.lib

于 2012-02-16T20:34:39.967 に答える
1

You need to compile gtkD into a binary. The standard way to do this is with DSSS. Basically, download and install DSSS, and then do a dsss build from the main gtkD directory.

Edit:

After you build gtkD using DSSS, you'll have a bunch of .lib files in the gtkD directory. You statically link these into your application. In addition, you need to have the GTK+ libraries installed in your Windows installation.

于 2012-01-04T13:29:22.110 に答える
1

ライブラリのビルド :プロジェクトのビルド ガイドラインを参照することをお勧めします。ここでは、ライブラリをビルドするためにレイアウトする手順を示します。

  1. DSSS の最新の安定バージョンを入手して、システムにインストールします。
  2. [オプション]。必要に応じて、プロジェクトのルートにある dsss.conf ファイルを更新します。それ以外の場合は、'defaulttargets' キーに注意してください。標準の gtkD ビルド/インストールが必要な場合は、デフォルトで問題ありません。
  3. gtkD をビルドします。プロジェクトのルート (このファイルがある場所) に移動し、次のコマンドを実行します。

    $ dsss build
    
  4. ライブラリをライブファイルシステムにインストールできます。プロジェクトのルートから、次を実行します。

    $ dsss install **--prefix=/usr/local**
    

    必要に応じてプレフィックスを設定することを忘れないでください。「/usr/local」は正常なデフォルトであり、それ以上の操作をしなくてもほとんどのシステムで機能するはずです。選択したプレフィックスが PATH にない場合は、環境変数を更新することを忘れないでください。インポート ファイルも、選択したプレフィックスに自動的にインストールされます。注: システム設定によっては、この手順を完了するために root アクセスが必要になる場合があります。

  5. 任意のデモ フォルダから提供された dsss.conf ファイルを使用して、独自のプログラムを構築します。デモのビルドに使用されるビルドフラグに特に注意してください。Linux システムでは「-L-ldl」が必要です。
  6. 楽しむ!

ライブラリの使用: その後、ビルド方法に応じて、独自のプログラムでいくつかの異なる方法でライブラリを使用できます。

DSSS を使用して独自のプロジェクトを構築している場合は、次のようなコードでモジュールをインポートするだけです。

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();
}

dss.conf は次のようになります。

name = helloworld
[helloworld.d]
target = helloworld

そして、通常の手順を使用してビルドおよびインストールします。

$ dsss build
$ dsss install

編集:: DMDを直接使用して、使用できるプロジェクトをコンパイルしたいことに気付きました:

dmd helloworld.d -ofhelloworld -L+gtk.lib

このビルド スタイルは、大規模なプロジェクトには推奨されないことに注意してください。実用的な場合は常に DSSS を使用する必要があります。

于 2012-02-16T21:08:05.190 に答える
1

rdmd を使用して、lib ファイルを生成せずに GtkD を使用するイメージ。

  1. Gtk+2 ランタイムをインストールする必要があります
  2. GtkD ソースコードをいくつかのディレクトリにダウンロードします
  3. rdmd --build-only -I/src を実行します

rdmd は、GtkD とプロジェクト コードだけを自動ビルドし、ライブラリを作成して手動でリンクする必要をスキップします。

于 2012-06-09T14:45:22.000 に答える
0

最新のリリースがすぐに使えるとは限らないようです。トランク HEAD を使用する方がよいでしょう一番下、私のために働いたバージョンはr952 でした。

bud/build (バージョン 3.04 は正常に動作しました) をダウンロードし、この build gtkD.brf のように呼び出します。

エラー

バージョンを検出できませんでした

パスに dmd がないことが原因です。

現在最新のgtkD 1.5.1を試しましたが、typedefの問題が発生し、手動で修正した後、XOverlayの問題が発生し、多くの検索の後、SVNで両方が修正されていることがわかったので、トランクHEADとそれは箱から出して働いた。

于 2012-06-01T11:30:46.983 に答える