visual-studio-2010 - 如何在Visual Studio 2010上配置gtk

标签 visual-studio-2010 visual-c++ configuration gtk

我曾尝试在Visual Studio上配置gtk +,但无法正常工作。,
谁能建议我一个适当的解决方案,例如如何在Visual Studio 2010上安装gtk

最佳答案

我让GTK +与VS2010一起工作,所以如果您也想使其工作,请准备好一些乐趣,因为这将需要几分钟。

首先,下载最新的Windows All-In-One bundle。我使用here的GTK 2.24 bundle 包的可选直接下载链接。直接链接是32位版本。我尚未测试64位版本,因为它仍被列为实验版本。

下载 bundle 软件后,将其解压缩到C:\gtkD:\gtk之类的文件中

接下来,我们将为GTK文件夹创建一个系统环境变量。打开命令提示符并输入:setx GTKDIR {Path to your GTK folder} /m(在我的情况下为setx GTKDIR D:\gtk /m)

我们还将将GTK +构建的应用程序在Windows上运行所需的.dll文件添加到我们的系统PATH中。为了使事情变得简单,建议您使用PathEditor编辑系统PATH。现在,将路径添加到GDK Binaries文件夹(在我的情况下为D:\ gtk \ bin)到系统PATH。通过在命令提示符下键入 PATH 来确认GTK bin文件夹已添加到PATH中。

现在,我们转到Visual Studio 2010并创建一个新项目。

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

然后出现应用程序向导。

单击选择:
Windows Application

Empty Project

单击完成继续。

在添加任何源文件之前,右键单击解决方案资源管理器中的项目名称,然后单击属性。现在转到配置属性,然后进入 VC++目录。现在,我们需要将GTK中的包含文件和库文件添加到包含目录库目录中。

中应包含以下内容包括目录
$(GTKDIR)\lib\gtk-2.0\include
$(GTKDIR)\lib\glib-2.0\include
$(GTKDIR)\include

库目录:
$(GTKDIR)\lib

当我们仍在“项目属性” View 中时,单击链接器,然后单击系统。在右侧查找子系统,然后单击下拉框。选择 Windows / SUBSYSTEM:WINDOWS

接下来,我们必须为编译器和链接器生成标志。幸运的是,GTK +附带了一个不错的小工具 pkg-config ,我们将使用它自动为我们生成这些标志。可以在GTK的bin文件夹中找到pkg-config工具。在我的情况下,这是 D:\ gtk \ bin %GTKDIR%\ bin (使用我们先前定义的系统变量)。只需使用命令提示符导航到bin文件夹(创建的文本文件将在其中输出)并运行以下命令:
pkg-config --cflags gtk+-2.0 --msvc-syntax > compilerflags.txt

这将创建我们需要的编译器标志,并将其存储在文本文件中。
我的编译器标志结果(我删除了标志 -mms-bitfields ,这是我们不需要的仅gcc标志):
-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

我们将对链接器标志执行相同的操作:
pkg-config --libs gtk+-2.0 --msvc-syntax > linkerflags.txt

我的链接器标志结果:
/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

生成所有需要的标志后,我们需要将它们添加到我们的项目中。再次右键单击项目名称,然后单击属性。现在转到C/C++并单击Command Line。在右侧,您应该看到一个名为其他选项的空框。将编译器flags.txt 内容复制并粘贴到此框中。

完成上述操作后,单击链接器,然后单击命令行。再一次,只需将 linkerflags.txt 文件的内容复制并粘贴到其他选项框中。当我们在这里时,添加最后一个链接程序标志 / ENTRY:mainCRTStartup 该标志告诉Visual Studio我们要使用标准的main()而不是Microsoft的_tmain()作为我们的主程序入口点。

最后,在“源文件”文件夹中,创建并添加具有以下内容的新.cpp文件:
#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;
}

现在,所有内容都应该可以编译,链接和运行了。如果一切顺利,您应该受到以下欢迎:

那很有趣,对吗? :)

关于visual-studio-2010 - 如何在Visual Studio 2010上配置gtk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906580/

相关文章:

c++ - 如何将路径作为参数传递给 vc++ 中的第二个应用程序?

spring - PropertyPlaceholderConfigurer : Use external properties file

visual-studio-2010 - 我可以在 VS2010 中将 32 位 Oracle 开发人员工具与 x64 ODAC 一起使用吗?

c++ - Visual Studio 文件只能用记事本打开

c++ - 在 Visual Studio 中构建 wxWidgets-3.1.2 项目时如何修复 "Cannot find setup.h"错误?

c++ - 使用 const 数组元素初始化

configuration - rsyslog 有条件的 RepeatedMsgReduction

android - 适用于 Android 的 Facebook SDK v.4 : errors on Eclipse

visual-studio-2010 - VS2010 数据库项目有表设计器吗?

c# - 当我放在启动文件夹中时,EXE 的行为有所不同