gpt4 book ai didi

c - GTK+/GCC 启动时崩溃

转载 作者:可可西里 更新时间:2023-11-01 14:06:44 27 4
gpt4 key购买 nike

我正在尝试学习如何在 C 中使用 GTK。

我正在使用 Eclipse CDT 进行开发。我从示例网站复制了以下代码:

#include <gtk/gtk.h>
#include <stdlib.h>

void displayUI()
{
GtkWidget* mainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_window_set_default_size(GTK_WINDOW(mainWindow), 400, 300);
gtk_window_set_title(GTK_WINDOW(mainWindow), "GTK Simple Example");
gtk_window_set_position(GTK_WINDOW(mainWindow), GTK_WIN_POS_CENTER_ALWAYS);

gtk_signal_connect(GTK_OBJECT(mainWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);

gtk_widget_show_all(mainWindow);
}

int main(int argc, char *argv[]) {

gboolean b = gtk_init_check(&argc, &argv);

if(b == 0) {
puts("Failed to init");
exit(0);
}

gtk_init(&argc, &argv);

displayUI();

gtk_main();

return EXIT_SUCCESS;
}

每次我尝试运行此程序(或任何其他涉及 GTK 的程序时,Windows 都会立即显示“InsertProgramNameHere.exe 已崩溃”消息。

我已经正确安装了 MinGW、MinSYS、PKG-CONFIG 和 MAKE。程序编译得很好……只是无法运行。

有什么想法吗?

更新

我找到了这个错误日志。似乎存在依赖性问题。

Faulting application TestRun.exe, version 0.0.0.0, time stamp 0x4f839a6a, faulting

module libgtk-win32-2.0-0.dll, version 6.0.6002.18541, time stamp 0x4ec3e39f, exception

code 0xc0000135, fault offset 0x0006f52f, process id 0x1674, application start time

0x01cd16c174d3df90.

最佳答案

exception code 0xc0000135

那是 STATUS_DLL_NOT_FOUND。 Gtk+ 有大量的依赖 DLL。开始的最佳选择可能是使用 all-in-one bundle并将存档中 bin 目录的全部内容复制到程序的 EXE 目录中。粗但the docs对此毫无歉意:

Many of the developer files are relatively irrelevant. If you intend to redistribute the GTK+ run-time, you need to figure out which files you can leave out yourself

关于c - GTK+/GCC 启动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067499/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com