gcc (pkg-config --cflags glib-2.0)编译报错 undefined reference to 'g_main_loop_new' 怎么解决
时间: 2024-04-29 12:22:28 浏览: 228
这个错误通常是因为链接器找不到对应的函数实现。你需要加入 `-lglib-2.0` 参数来链接 GLib 库。
具体来说,你可以在编译时加入以下参数:
```bash
gcc -o my_program my_program.c $(pkg-config --cflags --libs glib-2.0)
```
这样就可以正确链接 GLib 库,解决 `undefined reference to 'g_main_loop_new'` 错误了。
相关问题
undefined reference to symbol 'g_application_run'
这个错误通常是因为缺少链接到正确的库文件。g_application_run() 函数是 GLib 库中的函数,因此您需要确保链接到 GLib 库。
如果您使用的是 GCC 编译器,可以使用 `-lglib-2.0` 标志来链接 GLib 库。例如:
```
gcc my_program.c -o my_program `pkg-config --cflags --libs glib-2.0`
```
如果您使用的是其他编译器,请查看其文档以确定如何链接库。
另外,请确保正确包含头文件 `glib.h`。
undefined reference to symbol 'g_signal_connect_data'
这个错误可能是因为你在编译时没有链接正确的库文件。`g_signal_connect_data` 是 GLib 库中的一个函数,需要链接 GLib 库。
如果你使用的是 GCC 编译器,可以在编译时加上 `-lglib-2.0` 参数以链接 GLib 库。例如:
```
gcc main.c -o main `pkg-config --cflags --libs glib-2.0`
```
另外,还需要确保你已经正确地包含了 GLib 的头文件。可以在代码中添加以下语句来包含 GLib 的头文件:
```c
#include <glib.h>
```
阅读全文