【问题标题】:Unable to compile code with GTK无法使用 GTK 编译代码
【发布时间】:2017-10-14 19:55:55
【问题描述】:

我想学习使用 GTK3,但我无法编译第一个示例。

我安装了MSYS2 并运行:

pacman -S mingw-w64-x86_64-gtk3

接着是:

pacman -S mingw-w64-x86_64-glade

和:

pacman -S mingw-w64-x86_64-devhelp

我将它安装在c:\MSYS64 这是默认位置,但是当我尝试运行时

gcc `pkg-config --cflags gtk+-3.0` -o example-0 example-0.c `pkg-config --libs gtk+-3.0`

编译Simple Window教程

#include <gtk/gtk.h>

static void
activate (GtkApplication* app,
          gpointer        user_data)
{
    GtkWidget *window;

    window = gtk_application_window_new (app);
    gtk_window_set_title (GTK_WINDOW (window), "Window");
    gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
    gtk_widget_show_all (window);
}

int main (int    argc, char **argv)
{
     GtkApplication *app;
     int status;

     app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
     g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
     status = g_application_run (G_APPLICATION (app), argc, argv);
     g_object_unref (app);

     return status;
}

我收到一个错误:

C:\Users\Simon\Desktop\webbrowser>gcc `pkg-config --cflags gtk+-3.0` -o example-1 example-1.c `pkg-config --libs gtk+-3.0`                                       
gcc: error: `pkg-config: No such file or directory                              
gcc: error: gtk+-3.0`: No such file or directory                                
gcc: error: example-1.c: No such file or directory                              
gcc: error: `pkg-config: No such file or directory                              
gcc: error: gtk+-3.0`: No such file or directory                                
gcc: error: unrecognized command line option '--cflags'                         
gcc: error: unrecognized command line option '--libs'                           
gcc: fatal error: no input files                                                
compilation terminated.           

这是来自命令提示符,所以我想尝试使用 MSYS2 shell,但我收到错误消息 -bash: gcc: command not found。我还尝试将脚本移动到C:\msys64\home\,但这会返回相同的错误。

在某个地方我跳过了某些东西或做错了什么,但我真的不明白是什么。过去一个月我一直在尝试(打开和关闭),非常感谢任何帮助。

如果有帮助,我会在 Windows 上使用 MinGW。

【问题讨论】:

    标签: c gtk mingw


    【解决方案1】:
    gcc: error: `pkg-config: No such file or directory
    

    你错过了pkg-config。请阅读所有GTK+ on Windows 说明。我写了那个页面,但猜不出你要使用哪种语言。如果您选择 C ​​或 C++,则需要第 5 步,因为您需要基本的构建工具,例如 pkg-config。特意给了一个选择很多工具的命令,避免一个个一个个地选择而有人漏了一个工具。

    所以请运行:

    pacman -S mingw-w64-x86_64-toolchain base-devel
    

    欢迎反馈如何改进说明页面。

    【讨论】:

    • 谢谢我这样做了,现在可以在 Msys shell 中找到 pgk-config 但是我收到另一个错误:Package gtk+-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing gtk+-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-3.0' found Package gtk+-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing gtk+-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-3.0' found bash: gcc: command not found 我现在该怎么办?
    • 哦,顺便想用C。
    • pkg-config --list-all | grep gtk 返回什么?
    • 还有which gcc?
    • pkg-config --list-all | grep gtk 返回gtk+-3.0 GTK+ - GTK+ Graphical UI Library gtk+-win32-2.0 GTK+ - GTK+ Graphical UI Library (win32 target) javascriptcoregtk-3.0 JavaScriptCoreGTK+ - GTK+ version of the JavaScriptCore engine webkitgtk-3.0 WebKit - Web content engine for GTK+ gtk+-broadway-3.0 GTK+ - GTK+ Graphical UI Library gtk+-win32-3.0 GTK+ - GTK+ Graphical UI Library gtk+-2.0 GTK+ - GTK+ Graphical UI Library (win32 target) 我正在使用 Msys gcc,因为我从路径中删除了 MinGW。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 2011-02-27
    • 1970-01-01
    相关资源
    最近更新 更多