Comment configurer gtk sur Visual studio 2010

j'ai essayé de configurer gtk+ sur visual studio mais cela ne fonctionne pas correctement., Est-ce que quelqu'un peut me suggérer une solution appropriée, comme comment installer gtk sur Visual studio 2010

18
demandé sur Nischal Kumar BC 2013-04-09 19:49:15

3 réponses

J'ai obtenu GTK+ travailler avec VS2010, donc si vous voulez le faire fonctionner aussi, préparez-vous pour un peu de plaisir, parce que cela va prendre quelques minutes.

tout D'abord, téléchargez le dernier Windows Tout-En-Un bundle. Lien de téléchargement direct optionnel pour le paquet GTK 2.24 que j'ai utilisé ici. Le lien direct est la version 32bit. Je n'ai pas testé la version 64bit car elle est toujours listée comme expérimentales.

une Fois que vous faites télécharger le paquet, décompressez - le en quelque chose comme C:\gtk ou dans mon cas D:\gtk

ensuite, nous allons créer une Variable D'environnement système pour le dossier GTK. Ouvrez une invite de commande et écrivez:setx GTKDIR {Path to your GTK folder} /m dans mon cas, serait setx GTKDIR D:\gtk /m

nous allons aussi ajouter le .fichiers dll nécessaires pour GTK + applications construites pour fonctionner sur Windows dans notre chemin système. Pour rendre les choses très faciles, je vous suggère d'éditer votre chemin système avec PathEditor. Maintenant ajouter le chemin vers le dossier binaires GDK qui dans mon cas est D:\gtk\bin vers le chemin du système. Confirmer que le dossier GTK bin a été ajouté au chemin en tapant PATH dans votre invite de commande.

nous passons maintenant à Visual Studio 2010 et créons un nouveau projet.

File
  ->New
    ->Project
    Visual C++
      ->Win32
        ->Win32 Console Application

alors L'Assistant D'Application apparaît.

Cliquez pour sélectionner:

Windows Application

Empty Project

cliquez sur Terminer pour continuer.

avant d'ajouter des fichiers source, bien cliquez sur le nom du projet dans l' L'Explorateur De Solutions et cliquez sur Propriétés. Maintenant, allez à Propriétés De Configuration et répertoires VC++. Nous devons maintenant ajouter les fichiers include et library de GTK à Include et Répertoires Des Bibliothèques.

Vous devez avoir les éléments suivants dans votre Include

$(GTKDIR)\lib\gtk-2.0\include
$(GTKDIR)\lib\glib-2.0\include
$(GTKDIR)\include

et Répertoires Des Bibliothèques:

$(GTKDIR)\lib

alors que nous sommes toujours dans la vue des propriétés du projet, cliquez sur Linker et . Recherchez sous-système sur la droite et cliquez sur la boîte déroulante. Sélectionnez Windows / sous-système: WINDOWS

ensuite, nous devons générer les drapeaux pour le compilateur et le linker. Heureusement, GTK+ est livré avec un joli petit outil appelé pkg-config que nous utiliserons pour générer automatiquement ces drapeaux pour nous. L'outil pkg-config se trouve dans le dossier bin de GTK. Dans mon cas, c'est D:\gtk\bin ou %GTKDIR % \bin en utilisant notre variable système que nous avons définie précédemment. Il suffit de naviguer dans le dossier bin (les fichiers texte créés y seront affichés) en utilisant la commande invite et lancez ce qui suit:

pkg-config --cflags gtk+-2.0 --msvc-syntax > compilerflags.txt

cela créera les indicateurs de compilateur dont nous avons besoin et les stockera dans un fichier texte. Mon Résultat pour les drapeaux de compilation (j'ai enlevé le drapeau - MMS-bitfields, ceci est un drapeau uniquement gcc dont nous n'avons pas besoin):

-ID:/gtk/include/gtk-2.0 -ID:/gtk/lib/gtk-2.0/include -ID:/gtk/include/atk-1.0 -ID:/gtk/include/cairo -ID:/gtk/include/gdk-pixbuf-2.0 -ID:/gtk/include/pango-1.0 -ID:/gtk/include/glib-2.0 -ID:/gtk/lib/glib-2.0/include -ID:/gtk/include -ID:/gtk/include/freetype2 -ID:/gtk/include/libpng14

Nous allons faire de même pour l'éditeur de liens drapeaux:

pkg-config --libs gtk+-2.0 --msvc-syntax > linkerflags.txt

mon résultat pour les drapeaux linker:

/libpath:D:/gtk/lib gtk-win32-2.0.lib gdk-win32-2.0.lib atk-1.0.lib gio-2.0.lib pangowin32-1.0.lib gdi32.lib pangocairo-1.0.lib gdk_pixbuf-2.0.lib pango-1.0.lib cairo.lib gobject-2.0.lib gmodule-2.0.lib gthread-2.0.lib glib-2.0.lib intl.lib

les drapeaux généré, nous devons ajouter à notre projet. Encore une fois, cliquez-droit sur le nom du projet et cliquez sur Propriétés. Maintenant, allez à C/C++ et cliquez sur Command Line. À droite vous devriez voir une boîte vide appelé Options Supplémentaires. Copiez et collez le compilerflags.txt contenu dans cette boîte.

après avoir terminé ce qui précède, cliquez sur Linker et Ligne De Commande. Encore une fois, il suffit de copier et coller le contenu du linkerflags.txt le fichier dans le Options Supplémentaires boîte. Pendant que nous sommes ici, Ajouter un dernier drapeau linker /ENTRY:mainCRTStartup ce drapeau indique à Visual Studio que nous voulons utiliser le main standard() plutôt que le _tmain de Microsoft() comme point d'entrée principal du programme.

enfin, dans le dossier des fichiers Source, Créez et ajoutez un nouveau .rpc fichier avec le code suivant:

#include <gtk-2.0\gtk\gtk.h>

int main(int argc, char* argv[])
{
    gtk_init(&argc, &argv);

    GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_usize(window, 300, 200);

    g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);   
    gtk_window_set_title(GTK_WINDOW(window), "GTK+ with VS2010");

    gtk_widget_show(window);     

    gtk_main();   
    return 0;
}

tout doit maintenant être prêt pour la compilation, le lien et l'exécution. Si tout s'est bien passé, vous devriez être accueillis par le suivant: enter image description here

C'était amusant, non? :)

36
répondu ManuelH 2013-07-16 23:16:35

Donner un coup d'oeil à ce GTK+ avec Visual Studio 2008 tutorial.

1
répondu liberforce 2013-04-09 22:34:17

si vous construisez GTK + stack sur Windows avec l'aide d'un guide comme , alors le luxe d'utiliser un binaire précompilé ne sera pas à votre disposition.

Dans ce cas, je suggère la démarche suivante.

  1. Télécharger les binaires précompilés - cela présente deux avantages.

    • ceci est livré avec la config-pkg.utilitaire exe que vous pouvez utiliser pour la compilation source.
    • contient aussi le dossier pkgconfig avec une richesse de .fichiers pc pouvant être adaptés à la source compilée.
  2. compilez les paquets en mode debug / release - c'est le principal avantage de le compiler vous - même-et organisez systématiquement les en-têtes, libs et dlls/exe dans les répertoires include, lib et bin respectivement.

  3. copier le dossier pkgconfig à partir du precompiled_gtk_source\bin à compiler_gtk_source\bin et définir le chemin d'accès de l'PKG_CONFIG_PATH variable ajouter le compiler_gtk_source\bin\pkgconfig.

  4. maintenant, considérant le fait que les noms des bibliothèques produites lors de la compilation de gtk vous-même et les noms des bibliothèques correspondantes dans le paquet précompilé peuvent être différents, vous pourriez avoir à faire les changements nécessaires dans compiler_gtk_source\bin\pkgconfig*.fichiers pc. Je voulais aller de haut en bas de l'approche ici( Nous allons voir les avantages, peu de temps). En haut-en bas, j'ai simplement signifie que le produit final sera celui qui sera édité en premier.

    Par exemple, dans ce cas, le gtk+ est le produit final et je vais aller pour la configuration de la .pc de ce paquet d'abord. La procédure est comme suit:

    • regardez d'Abord le nom de la dll créée. Dans mon cas, c'est gtk-3.0. Si l' .fichier pc qui a été expédié avec les binaires précompilé ont un autre nom, modifiez le nom de façon appropriée dans mon cas, c'est gtk-3.0.PC. (Ce devrait être le cas avec tous les autres .fichiers pc.)
    • ouvrez le gtk-3.0.pc dans un éditeur de texte et vous verrez des choses comme ci-dessous.

gtk-3.0.fichier pc:

    prefix=c:/gtk_compilation/vs12/win32
    exec_prefix=${prefix}
    libdir=${exec_prefix}/lib
    includedir=${prefix}/include
    targets=win32

    Name: GTK+
    Description: GTK+ Graphical UI Library
    Version: 3.18.2
    Requires: gdk-3.0 atk-1.0 cairo cairo-gobject gdk_pixbuf-2.0 gio-2.0
    Requires.private: atk
    Libs: -L${libdir} -lgtk-3 
    Cflags: -I${includedir}/gtk-3.0 -mms-bitfields

celui ci-dessus est mon fichier personnalisé. Si vous ne savez pas ce que chaque ligne ne, vous pourriez avoir un coup d'oeil à pkg-config help. Le Besoin option, cependant, a besoin d'une mention spéciale. C'est l'endroit où vous mettez le dépendance dll - encore une fois assurez-vous que le nom de la dll exactement correspond à ce que vous avez dans votre dossier.

  1. nous devons changer le.pc fichiers pour les dll qui sont inclus après le Require déclaration et, le cas échéant .les pcs sont manquants ou s'il y a une discordance de nom, vous pouvez faire les changements appropriés. A présent, vous devriez déjà avoir compris le avantage de l'approche du haut vers le bas. Cela nous aide à régler la dépendance .les fichiers pc systématiquement jusqu'à ce que nous les trier tous. Maintenant, exécutez la commande ci-dessous pour voir si les choses fonctionnent.

  2. enfin exécuter la commande pkg-config comme suit:

    pkg-config --cflags gtk-3.0 --msvc-syntax > compilerflags.txt pkg-config --libs gtk+-2.0 --msvc-syntax > linkerflags.txt

je viens de rediriger les résultats vers un fichier texte nommé compilerflags.txt & linkerflags.txt afin que vous puissiez les utiliser à tout moment vous voulez par couper,copier et coller. Bien sûr, vous ne devriez conserver que les options spécifiques du compilateur.

J'espère que cela aidera quelqu'un, un jour.

1
répondu sjsam 2015-10-20 04:26:10