【问题标题】:Application won't start (0xc000007b) with GTK+ and C应用程序无法使用 GTK+ 和 C 启动 (0xc000007b)
【发布时间】:2017-07-04 21:08:56
【问题描述】:

我用 GTK+ 3 用 C 语言编写了一个非常基本的测试应用程序,但是当我想启动这个应用程序时,我收到以下错误:

应用程序无法正确启动 (0xc000007b)

但我只有在 GTK+ 3 中才能做到这一点。

我的代码:

#include <stdio.h>
#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), "Tutorial");
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
    gtk_widget_show_all(window);

}

int main(int argc, char **argv) {
    printf("Hello, World!\n");

    //printf("Ein akustisches Signal mit : (\\a)\a");
    printf("\nEin Backspace mit : (\\b) | \bx\n");
    printf("Ein Zeilenvorschub mit : (\\t) |\tx");
    printf("\n\tC\n\ti\n\ts\n\tt\n\ttoll\n");
    printf("\t   u\n\t   n\n\t   d\n");
    printf("\t   macht Spaß\n");

    //Kommentar 1
    /* Kommentar 2 */
    /*
     * Mehrzeiliges Kommentar
     */

    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;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.7)
project(tutorial)

set(CMAKE_C_STANDARD 99)

set(SOURCE_FILES main.c)

set(PKG_CONFIG_EXECUTABLE "C:/msys64/mingw64/bin/pkg-config.exe")

FIND_PACKAGE(PkgConfig REQUIRED)
PKG_CHECK_MODULES(GTK3 REQUIRED gtk+-3.0)

INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})

add_executable(tutorial ${SOURCE_FILES})

ADD_DEFINITIONS(${GTK3_CFLAGS_OTHER})

TARGET_LINK_LIBRARIES(tutorial ${GTK3_LIBRARIES})

我正在使用 Clion 2017.1.3、mingw-w64 5.0 和 cmake 3.7.2 (x64) 和 gdb 7.11.1 (x64)

【问题讨论】:

  • 似乎密切相关(或重复)stackoverflow.com/questions/10492037/…
  • 它正在加载 32 位 DLL,但我使用的是 64 位 cmake 和 64 位 gtk 库,而且我有一个 64 位系统,所以为什么它使用 32 位 windows dll

标签: c gtk 64-bit


【解决方案1】:

好的,我修复了我自己的错误^^

我在系统变量中设置了 GTK_BASEPATH,并将 PATH 变量设置为旧版本的 GTK(32 位),并将这些文件用作库。

【讨论】:

    猜你喜欢
    • 2022-12-10
    • 2014-07-21
    • 2016-01-25
    • 2019-08-29
    • 2016-11-13
    相关资源
    最近更新 更多