web-dev-qa-db-fra.com

Comment configurer GTK sur Visual Studio 2010

J'ai essayé de configurer GTK + sur Visual Studio mais ne fonctionne pas correctement., Quelqu'un peut-il me suggérer une solution appropriée, comment installer GTK sur Visual Studio 2010

20
Nischal Kumar BC

Donnez un coup d'œil à cela GTK + avec tutoriel Visual Studio 2008 .

1
liberforce

Si vous construisez une pile GTK + sur Windows à l'aide d'un guide comme -- Ceci , le luxe de l'utilisation d'un binaire précompilé ne sera pas à votre disposition.

Dans ce cas, je suggérerais l'approche suivante.

  1. Téléchargez les fichiers binaires précompilés - cela a deux avantages.

    • Ce navire avec l'utilitaire PKG-CONFIG.EXE que vous pouvez utiliser pour la source compilée.
    • Cela contient également le dossier PKGConfig avec une richesse de fichiers .PC pouvant être adaptés à la source compilée.
  2. Compilez les packages dans le mode de débogage/libération - C'est l'avantage principal de la compiler vous-même - et d'organiser systématiquement les en-têtes, les libs et les dlls/exe Inclure, Lib et Bin, respectivement.

  3. Copiez le dossier PKGConfig de la corbeille précompiled_gtk_source\bin à compiler_gtk_source\bin et définissez le chemin de la variable pkg_config_path pour ajouter le compiler_gtk_source\bin\pkgconfig.

  4. Maintenant, compte tenu du fait que les noms des bibliothèques produites sur la compilation de GTK vous-même et les noms de la bibliothèque correspondante dans le package précompilé peuvent être différents, vous devrez peut-être apporter les modifications nécessaires dans les fichiers compiler_gtk_source\bin\pkgconfig * .pc. J'irais une approche de haut en bas ici (nous verrons les avantages sous peu). En bas, je veux simplement dire 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 d'abord pour configurer le fichier .PC de ce paquet. La procédure est la suivante:

    • Premier regard sur le nom de la DLL créé. Dans mon cas, c'est GTK-3.0. Si le fichier .pc expédié avec les fichiers binaires précompilés a un autre nom, changez le nom de manière appropriée - dans mon cas c'est GTK-3.0.PC. (Cela 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 trucs comme ci-dessous.

gtk-3.0.pc Fichier:

    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 fait, vous pourriez avoir un coup d'œil à Aide de configuration PKG . L'option requise nécessite toutefois une mention spéciale. C'est l'endroit où vous mettez la dlls de la dépendance - assurez-vous que le nom des DLL correspond exactement à ce que vous avez dans votre dossier BIN.

  1. Nous devons modifier récursivement les fichiers .PC pour les DLL incluses après le fichier exiger Énoncé et si des .pcs ​​sont manquants ou s'il y a une inadéquation de noms, vous pourriez faire une désignation. changements appropriés. À l'heure actuelle, vous avez déjà compris l'avantage de l'approche de haut en bas. Cela nous aide à trier systématiquement les fichiers de dépendance .PC jusqu'à ce que nous sortons tous. Maintenant, exécutez la commande ci-dessous pour voir si les choses fonctionnent.

  2. Enfin exécuter la commande pkg-config, comme ci-dessous:

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

Je viens de rediriger les résultats à un fichier texte nommé compilerflags.txt & linkerflags.txt afin que vous puissiez les utiliser à tout moment de votre choix par couper, copier et coller. Bien sûr, vous ne devez conserver que les drapeaux spécifiques du compilateur.

J'espère que cela aide quelqu'un, parfois.

1
sjsam