gdk (gtk3) в кодовых блоках на windows 7

Я настроил gtk3 + (я изменил gtk2 + на gtk3 +) в кодовых блоках 13.2 на Windows 7,
и создал новый проект gtk + (exmaple). Этот пример projcet был скомпилирован и работает правильно.

Далее я включил GDK:

#include <gdk/gdk.h>

Но когда я добавил строки:

gdk_init(&argc, &argv);

GdkScreen *screen = gdk_screen_get_default();`

Я получил 2 ошибки:

неопределенная ссылка на ‘gdk_init’ и
неопределенная ссылка на ‘gdk_screen_get_default’

В чем проблема? Я ищу конкретное решение.

журнал компиляции:

||=== Build: Debug in gtk4test (compiler: GNU GCC Compiler) ===|
C:\myp\gtk4test\main.c||In function 'main':|
C:\myp\gtk4test\main.c|37|warning: 'gtk_vbox_new' is deprecated (declared at C:\gtk\include\gtk-3.0/gtk/deprecated/gtkvbox.h:60): Use 'gtk_box_new' instead [-Wdeprecated-declarations]|
C:\myp\gtk4test\main.c|53|warning: unused variable 'screen' [-Wunused-variable]|
obj\Debug\main.o||In function `main':|
C:\myp\gtk4test\main.c|52|undefined reference to `gdk_init'|
C:\myp\gtk4test\main.c|53|undefined reference to `gdk_screen_get_default'|
||=== Build failed: 2 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|

0

Решение

Если вы уже вызвали gtk_init, то вы не должны вызывать gdk_init (как gtk_init также вызывает его). Как правило, вы должны просто вызвать функции gdk.

Если по какой-то причине вам нужен gdk_init (), вам придется добавить

gcc ... `pkg-config --libs --cflags  gdk-3.0` ...

на линию компиляции. Обратите внимание, что вам, вероятно, также придется перенастроить IDE для использования gdk3 вместо gdk2.

0

Другие решения


По вопросам рекламы [email protected]