gpt4 book ai didi

c++ - 链接库和 GTK+ 的问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:59:13 25 4
gpt4 key购买 nike

当尝试使用 Code::Blocks 编译时,GTK+ 出现的示例:

#include stdlib.h#include gtk/gtk.hstatic void helloWorld (GtkWidget *wid, GtkWidget *win){  GtkWidget *dialog = NULL;  dialog = gtk_message_dialog_new (GTK_WINDOW (win), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Hello World!");  gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);  gtk_dialog_run (GTK_DIALOG (dialog));  gtk_widget_destroy (dialog);}int main (int argc, char *argv[]){  GtkWidget *button = NULL;  GtkWidget *win = NULL;  GtkWidget *vbox = NULL;  /* Initialize GTK+ */  g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);  gtk_init (&argc, &argv);  g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);  /* Create the main window */  win = gtk_window_new (GTK_WINDOW_TOPLEVEL);  gtk_container_set_border_width (GTK_CONTAINER (win), 8);  gtk_window_set_title (GTK_WINDOW (win), "Hello World");  gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);  gtk_widget_realize (win);  g_signal_connect (win, "destroy", gtk_main_quit, NULL);  /* Create a vertical box with buttons */  vbox = gtk_vbox_new (TRUE, 6);  gtk_container_add (GTK_CONTAINER (win), vbox);  button = gtk_button_new_from_stock (GTK_STOCK_DIALOG_INFO);  g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (helloWorld), (gpointer) win);  gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);  button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);  g_signal_connect (button, "clicked", gtk_main_quit, NULL);  gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);  /* Enter the main loop */  gtk_widget_show_all (win);  gtk_main ();  return 0;}

我收到以下错误:

ld.exe||cannot find -lgobject-2.0|ld.exe||cannot find -lglib-2.0|||=== Build finished: 2 errors, 0 warnings ===|

我已将两者都链接到该项目,但我找不到使其工作的方法。我已经尝试了 http://www.gtk.org/download-windows.html 中的 bundle 和分离包.我很确定这一定是一些简单/愚蠢的事情,但我找不到任何可以帮助我解决这个问题的东西。

最佳答案

您是否已将包含 libglib-2.0.a、libgobject-2.0.a 文件的 GTK 目录添加到链接器搜索目录。
这可以从以下路径完成:
设置 |编译器和调试器... |搜索目录 |链接器 |添加

可以在 Build Log 窗口中查看编译器/链接器的完整命令行。要启用此功能,请转到:
设置 |编译器和调试器... |其他设置 |编译器日志 |完整命令行

我没有遇到缺少入口点的问题,所以您的 GTK 拷贝可能已损坏。从 GTK+ 2.22 下载一体化 bundle

确保在搜索目录中添加所有包含目录 |编译器

作为旁注,您可能需要使用 -mms-bitfields 编译您的项目,可以将其添加到:设置 |编译器和调试器... |其他选项只需按原样粘贴标志即可。

关于c++ - 链接库和 GTK+ 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4982123/

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