windows下安装gtk并使用gcc编译?

Posted

技术标签:

【中文标题】windows下安装gtk并使用gcc编译?【英文标题】:Installing gtk and compiling using gcc under windows? 【发布时间】:2009-09-20 06:30:12 【问题描述】:

我在 c:/programfiles 中安装了 gcc(也设置为路径变量),并且我拥有来自 http://www.gtk.org/download-windows.html、glib、gtk、pango、atk 和 cairo 的 gtk 的所有必要文件。虽然我不知道如何使用 gtk 和 gcc 编译器来编译 c 程序。如何设置所有内容以使其正常工作? (我不知道每个 zip 文件的去向。?)基本上我真的不知道从哪里开始。

【问题讨论】:

你想编译 GTK,还是只编译一个使用 GTK 的应用程序? 我只想使用 gtk 编写一个 gui 应用程序并编译它。我该怎么做? 【参考方案1】:

好的,要在 Windows 中安装和使用 GTK+ 并将其与 MinGW 一起使用,您可以按照以下步骤进行操作。我会尽量让它们变得简单,别担心:

    安装 MinGW,因为你已经完成了,所以我不会详细说明这一步。 下载GTK+ all-in-one bundle(可能有些东西你可能不会用……但这种方法应该可以)。 解压包的内容,可以在安装MinGW的同一个文件夹中解压,也可以在另一个文件夹中解压,没关系。

    启动命令提示符,进入解压包的bin 目录并运行:

    pkg-config --cflags --libs gtk+-win32-2.0

    它将打印一个编译标志列表,以及链接您的项目的库。现在,复制它们并使用以下内容创建一个批处理文件(.bat 或 Windows 命令脚本 .cmd):

    set VAR=FLAGS start cmd

    其中VAR 是变量的名称(例如GTK),FLAGS 是上一个命令的输出(pkg-config)。

    当你想编译使用 GTK+ 的东西时,双击该文件,GTK+ 标志将位于VAR。例如,您可以这样编译:

    gcc foo.c %VAR%

您可能会发现创建用户环境变量并将标志存储在其中更方便,而不是批处理文件,这样您就可以在正常的命令提示符下进行编译。我没有对此进行描述,因为执行此操作的方式因您拥有的 Windows 版本而异。通常您可以在高级系统属性中找到它。

一旦您对 GTK+ 编程更有信心,您可能不会使用所有包或所有标志,或以不同的方式重新排序它们,使用 makefile 而不是将编译标志和库放在环境变量中,. ..

但是现在,这会让你开始。

此外,您将动态链接到 GTK+,因此正确的库位于项目的同一目录中,或者在您想要运行它时可以从路径访问。

【讨论】:

嘿,谢谢您的回复!现在可以了,虽然我必须与 libgtk-win32.dll 在同一个文件夹中,但我如何像您说的那样链接它? 编译时动态链接到 GTK+ 库,这意味着您的程序需要这些库才能工作。它们需要与程序的可执行文件在同一个文件夹中,或者它们必须在 PATH 环境变量中(您已经安装了 GCC 并且已经在 PATH 变量中)。如果您将安装 GTK+ 的“bin”文件夹添加到路径中,即使您与 GTK+ 库不在同一个文件夹中,它也会起作用。 链接“GTK+ all-in-one bundle”似乎不再起作用了。

以上是关于windows下安装gtk并使用gcc编译?的主要内容,如果未能解决你的问题,请参考以下文章

Windows下安装并使用 GTK4

GTK学习笔记之Linux下Gtk环境搭建

Ubuntu12.04 下 GTK3.xx 的安装编译和測试

VScode使用记录二:Windows 7下安装GCC使用VSCode编译代码

GCC在windows环境下怎么安装额?

win10下安装Cygwin配置gcc编译环境