Gtk 未定义对'的引用;油嘴滑舌';

Gtk 未定义对'的引用;油嘴滑舌';,gtk,codeblocks,glib,Gtk,Codeblocks,Glib,我想在我使用的代码块中使用glib解析配置文件。所以我想做的就是第一个描述的例子。我有一个名为myconfig.cfg的文件和一个代码programming.c。我只是复制并粘贴代码,看看glib是否有效,但不幸的是它不起作用。我使用sudoapt-get安装了glib2.0,我发现glibs中的libs在哪里使用 pkg-config --cflags --libs glib-2.0 在这条路上 project->Build Options->Compiler Settings-

我想在我使用的代码块中使用glib解析配置文件。所以我想做的就是第一个描述的例子。我有一个名为myconfig.cfg的文件和一个代码programming.c。我只是复制并粘贴代码,看看glib是否有效,但不幸的是它不起作用。我使用sudoapt-get安装了glib2.0,我发现glibs中的libs在哪里使用

pkg-config --cflags --libs glib-2.0
在这条路上

project->Build Options->Compiler Settings-> Other Options
我补充说

-I/usr/include/glib-2.0 -I/usr/lib/arm-linuxgnuebihf/glib-2.0/include
当我构建并运行programming.c时,我有这些错误

-------------- Build: Debug in programming ---------------
gcc -Wall  -g -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include  -std=c99    -c /home/pi/Desktop/programming/main.c -o obj/Debug/main.o
g++  -o bin/Debug/programming obj/Debug/main.o    /usr/lib/libmysqlclient.so.16 
obj/Debug/main.o: In function `main':
/home/pi/Desktop/programming/main.c:22: undefined reference to `g_key_file_new'
/home/pi/Desktop/programming/main.c:26: undefined reference to `g_key_file_load_from_file'
/home/pi/Desktop/programming/main.c:28: undefined reference to `g_log'
/home/pi/Desktop/programming/main.c:34: undefined reference to `g_slice_alloc'
/home/pi/Desktop/programming/main.c:37: undefined reference to `g_key_file_get_string'
/home/pi/Desktop/programming/main.c:39: undefined reference to `g_key_file_get_locale_string'

/home/pi/Desktop/programming/main.c:41: undefined reference to `g_key_file_get_boolean_list'
/home/pi/Desktop/programming/main.c:43: undefined reference to `g_key_file_get_integer_list'
/home/pi/Desktop/programming/main.c:45: undefined reference to `g_key_file_get_string_list'
/home/pi/Desktop/programming/main.c:47: undefined reference to `g_key_file_get_integer'
/home/pi/Desktop/programming/main.c:49: undefined reference to `g_key_file_get_double_list'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 6 seconds)
11 errors, 0 warnings
我错过什么了吗?我也试着用libconfig做同样的事情,但我还是有未定义的引用。问题出在路径上了吗

更新

使用pkg config--libs glib-2.0,它返回me-lglib-2.0

在代码块中,我将其(lglib-2.0)插入

现在我有一个错误:

**(process:3751): ERROR ** No such file or directory  
Trace/breakpoint trap

您没有针对库进行链接,这就是为什么会出现链接器错误(“未定义引用”)


检查
pkg config--libs glib-2.0
,不带
--cflags
,并确保它以某种方式合并到项目设置中。

pkg config without cflags返回me-lglib-2。0@dali1985确切地说,这是要求它在库中链接所需的编译器标志。你需要告诉代码块包含相同的代码。我现在这样做了(可能是错误的),正如你在我的更新中看到的,我有新的错误!!您遗漏了
-
,应该添加
-lglib-2.0
。另外,最好使用
`pkg config--cflags glib-2.0`
作为编译器设置选项,使用
`pkg config--libs glib-2.0`
作为链接器设置(请注意开头和结尾的
`
)。代码::块还允许通过浏览并在链接器设置中选择它们来包含库(顺便问一下,您使用的是哪个版本的代码::块)
**(process:3751): ERROR ** No such file or directory  
Trace/breakpoint trap