undefined reference to symbol 'g_application_run'
时间: 2023-12-14 07:40:22 浏览: 175
这个错误通常是因为缺少链接到正确的库文件。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`。
相关问题
clang undefined reference to symbol '_ZNSt12length_errorD1Ev'
"clang: undefined reference to symbol '_ZNSt12length_errorD1Ev'" 这是一个链接器错误,通常出现在C++程序中当你尝试链接一些库函数,比如`std::length_error`(标准库中的长度异常),但是在编译过程中没有包含相应的头文件,也没有提供该异常构造函数的实现链接。`_ZNSt12length_errorD1Ev`是对`length_error` 类析构函数`~length_error()`的内部表示。
解决这个问题的一般步骤包括:
1. 确保已经包含了正确的头文件,如`#include <stdexcept>`,因为`length_error`是`std::runtime_error`的一个特殊化版本,通常会在`<stdexcept>`中定义。
2. 如果你在自定义代码里创建了这个异常,并且没有提供析构函数的实现,需要为它提供一个或者让其继承自`std::exception`并重载默认的析构函数。
3. 检查是否所有的依赖库都被正确地链接到你的项目中,特别是那些包含所需异常定义的库。
cmake 遇见 undefined reference to symbol pthread_create@@
这个错误通常是因为缺少 pthread 库的链接导致的。可以在 CMakeLists.txt 文件中添加以下语句来链接 pthread 库:
```
find_package(Threads REQUIRED)
target_link_libraries(your_target_name Threads::Threads)
```
其中,your_target_name 是你的目标文件名。这样就可以正确链接 pthread 库了。
阅读全文