我想在我使用的Codeblocks中使用glib解析配置文件。所以我想先做一下here的例子。我有一个名为myconfig.cfg的文件和一个代码programming.c。我只是复制并粘贴代码来查看glib是否工作,但不幸的是它不起作用。我做glib2.0的安装使用sudo apt-get的,我发现那里正在使用未定义的引用'glib'
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
在glibs的库当我建立并运行编程时,我有这些错误
-------------- 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做同样的事情,但是我又有了未定义的参考。问题是路径吗?
UPDATE
随着pkg配置的使用--libs油嘴-2.0,它返回我-lglib-2.0
在码块我
project->Build Options->Linker Settings-> Link Libraries
插入它(lglib-2.0)
,现在我有这样的错误:
**(process:3751): ERROR ** No such file or directory
Trace/breakpoint trap
您错过了'-',您应该添加'-lglib-2.0'。对于链接器设置,使用'''pkg-config --cflags glib-2.0''编译器设置选项和'''pkg-config --libs glib-2.0 \'''可能会更好一些(请注意' \''在开始和结束时)。 Code :: Blocks还允许通过浏览并在链接器设置中选择它们(btw使用哪个版本的Code :: Blocks) –