8 Stimmen

Wie benutzt man gtkD in Win7 und dmd (D2)?

Ich habe heruntergeladen gtkD-1.5.1 und extrahiert zu einigen gtkD Verzeichnis. Was muss ich als nächstes tun? Ich verstehe nicht, ob ich kompilieren und verknüpfen Sie es mit einigen lib oder nur Link zu ihm in meinem Code?


Bearbeiten: (@dsimcha)

das Kommando dsss build im gtkD-Hauptverzeichnis gab mir dies:

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

aber es wurde keine Lib erstellt?

2voto

Cedrick Cooke Punkte 21

Ich hatte auch Probleme bei der Verwendung von DSSS unter Windows, Sie könnten es mit Bud/Build .

Stellen Sie sicher, dass sich build.exe irgendwo in Ihrem Pfad befindet, und öffnen Sie dann eine Befehlszeile in Ihrem gtkD/src/build-Ordner. Führen Sie dann build gtkD.brf zu erstellen GtkD.lib .

Je nach Ihrer DMD-Version erhalten Sie viele Fehler. Die meisten Fehler, die ich bekam, waren, dass typedef veraltet ist. In jeder Datei, in der dies der Fall war, habe ich einfach typedef in alias umgewandelt, und es hat funktioniert. Der andere Fehler, den ich bekam, war mit src/gtk/Toolbar.d und eine zweideutige virtuelle Funktion getOrientation() . Um dies zu beheben, gehen Sie zu src/gtk/OrientableIF.d et /src/gtk/ToolShellIF.d und kommentieren Sie die getOrientation-Methoden aus.

Verwendung der neuesten Version von dmd (2.059), glib/DateTime.d wird nicht kompiliert. Um diese Datei zu kompilieren, kommentieren Sie einfach die Methode override hash_t toHash() .

Wenn Sie Ihr Projekt kompilieren, verwenden Sie dmd <source files> -L <C:\Path\To\File>\GtkD.lib

1voto

dsimcha Punkte 65784

Sie müssen gtkD in eine Binärdatei kompilieren. Der Standardweg, dies zu tun, ist mit DSSS . Laden Sie DSSS herunter und installieren Sie es, und führen Sie dann eine dsss build aus dem Hauptverzeichnis von gtkD.

Editer :

Nachdem Sie gtkD mit DSSS gebaut haben, werden Sie eine Reihe von .lib-Dateien im gtkD-Verzeichnis haben. Sie binden diese statisch in Ihre Anwendung ein. Darüber hinaus müssen Sie die GTK+-Bibliotheken in Ihrer Windows-Installation installiert haben.

1voto

Devin M Punkte 9535

Aufbau der Bibliothek : Ich würde empfehlen, einen Blick auf die Richtlinien für die Durchführung des Projekts Hier sind die Schritte, die sie für den Aufbau der Bibliothek vorsehen:

  1. Holen Sie sich die neueste stabile Version von DSSS und installieren Sie sie auf Ihrem System.

  2. [OPTIONAL]. Aktualisieren Sie die Datei dsss.conf im Wurzelverzeichnis des Projekts auf Ihren Bedürfnissen anzupassen. Ansonsten achten Sie auf den 'defaulttargets' Schlüssel. Wenn Sie eine Standard-GtkD-Build/Installation wünschen, sind die Standardwerte in Ordnung.

  3. Bauen Sie gtkD. Gehen Sie zum Root des Projekts (wo sich diese Datei befindet befindet) und führen Sie den folgenden Befehl aus:

    $ dsss build
  4. Sie können nun die Bibliotheken auf Ihrem Live-Dateisystem installieren. Vom Wurzel des Projekts, führen Sie aus:

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

    Vergessen Sie nicht, das Präfix nach Ihren Bedürfnissen einzustellen. "/usr/local" ist ein vernünftiger Standard und sollte auf den meisten Systemen ohne weitere Aktion funktionieren. Wenn sich das gewählte Präfix nicht in Ihrem PATH befindet, vergessen Sie nicht Ihre Umgebungsvariablen zu aktualisieren. Importierte Dateien werden auch automatisch unter dem gewählten Präfix installiert. Hinweis: Root-Zugang kann Root-Zugriff erforderlich sein, um diesen Schritt abzuschließen, je nach Ihren Systemeinstellungen.

  5. Erstellen Sie Ihre eigenen Programme mit Hilfe der mitgelieferten dsss.conf-Dateien aus einem der der Demo-Ordner. Achten Sie besonders auf die buildflags, die zum die Demos zu bauen. Auf Linux-Systemen ist "-L-ldl" erforderlich.

  6. Viel Spaß!

Benutzung der Bibliothek: Danach können Sie die Bibliothek auf verschiedene Weise in Ihrem eigenen Programm verwenden abhängig von der Bauweise :

Wenn Sie DSSS verwenden, um Ihr eigenes Projekt zu erstellen, müssen Sie die Module nur in den folgenden Code importieren:

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

Ihre dss.conf würde wie folgt aussehen:

name = helloworld
[helloworld.d]
target = helloworld

Führen Sie die üblichen Schritte zur Erstellung und Installation durch:

$ dsss build
$ dsss install

Editer : : Ich habe gerade bemerkt, dass Sie DMD direkt verwenden möchten, um Ihr Projekt zu kompilieren, können Sie verwenden:

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

Bitte beachten Sie, dass dieser Build-Stil nicht für größere Projekte empfohlen wird und Sie DSSS verwenden sollten, wann immer es praktisch ist.

1voto

Zardoz89 Punkte 554

Mit rdmd können Sie GtkD verwenden, ohne Lib-Dateien zu erzeugen.

  1. Sie müssen die Gtk+2-Laufzeitumgebung installieren
  2. GtkD-Quellcode in ein Verzeichnis herunterladen
  3. rdmd --build-only -I/src ausführen

rdmd erstellt GtkD und Ihren Projektcode automatisch und überspringt die Notwendigkeit, Bibliotheken zu erstellen und sie manuell zu linken.

0voto

Diaa Sami Punkte 3167

Es scheint, dass die neueste Version nicht immer sofort funktioniert. Sie sind besser dran mit trunk HEAD, indem Sie zu http://www.dsource.org/projects/gtkd/browser/trunk und klicken Sie auf den Zip-Archiv-Link am unteren Rand. Die Version, die bei mir funktionierte, war r952 .

Herunterladen Knospe/Bauwerk (Version 3.04 funktionierte einwandfrei build gtkD.brf

Der Fehler

Konnte keine Versionen erkennen

wird dadurch verursacht, dass dmd nicht im Pfad enthalten ist.

Ich versuchte gtkD 1.5.1, die die aktuelle neueste ist, aber dann bekam ich das typedef Problem und nachdem ich es manuell behoben habe, bekam ich das XOverlay-Problem und nach einer Menge Suche fand ich, dass sie beide in SVN behoben sind, so dass ich trunk HEAD bekam und es funktionierte aus der Box.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X