aarch64-linux-gnu-gcc 444.c -o demo -I/usr/include/gtk-3.0/ -I/usr/include/glib-2.0/ -I/usr/include/pango-1.0/ -I/usr/include/harfbuzz/ -I/usr/include/cairo/ -I/home/hik/SR1_2/Release/lib/glib-2.0/include/ -I/usr/include/gdk-pixbuf-2.0/ -I/usr/include/atk-1.0/ -lgio-2.0 undefined reference to symbol 'g_main_loop_run'
时间: 2023-08-07 11:04:10 浏览: 62
在您的编译命令中,您已经包含了 GIO 相关的库 `-lgio-2.0`。然而,`undefined reference to symbol 'g_main_loop_run'` 错误可能是由于链接器无法找到该函数的实现。
这个函数 `g_main_loop_run` 是 GLib 库中的函数,而不是 GIO 库中的函数。因此,您需要添加 GLib 库的链接参数 `-lglib-2.0` 到您的编译命令中,以解决该错误。请尝试以下编译命令:
```bash
aarch64-linux-gnu-gcc 444.c -o demo -I/usr/include/gtk-3.0/ -I/usr/include/glib-2.0/ -I/usr/include/pango-1.0/ -I/usr/include/harfbuzz/ -I/usr/include/cairo/ -I/home/hik/SR1_2/Release/lib/glib-2.0/include/ -I/usr/include/gdk-pixbuf-2.0/ -I/usr/include/atk-1.0/ -lgio-2.0 -lglib-2.0
```
这样应该可以解决 `undefined reference to symbol 'g_main_loop_run'` 错误。如果问题仍然存在,请提供更多的错误信息和环境细节,以便我们更好地帮助您解决问题。
相关问题
ln -s /usr/lib/aarch64-linux-gnu/libodbcinst.so.2.0.0 /usr/lib/aarch64-linux-gnu/libodbcinst.so
这段代码是在Linux系统上创建一个符号链接(symbolic link),将 `/usr/lib/aarch64-linux-gnu/libodbcinst.so.2.0.0` 链接到 `/usr/lib/aarch64-linux-gnu/libodbcinst.so`。
具体含义如下:
`ln -s`:是创建符号链接的命令。
`/usr/lib/aarch64-linux-gnu/libodbcinst.so.2.0.0`:是要创建链接到的目标文件。
`/usr/lib/aarch64-linux-gnu/libodbcinst.so`:是新创建的符号链接的路径和名称。
通过这个符号链接,可以在 `/usr/lib/aarch64-linux-gnu/libodbcinst.so` 的路径下访问和使用 `libodbcinst.so.2.0.0` 文件,这样可以方便地更新和管理库文件。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/aarch64-linux-gnu-gcc 100
要将终端中的GCC编译环境还原回默认设置,您可以按照以下步骤进行操作:
1. 打开终端,并运行以下命令以移除先前配置的替代项:
```
sudo update-alternatives --remove gcc /usr/bin/aarch64-linux-gnu-gcc
```
2. 接下来,运行以下命令来重新配置GCC编译器为默认设置:
```
sudo update-alternatives --config gcc
```
这将显示一个菜单,列出了可用的GCC编译器。选择您希望设置为默认的GCC编译器并按下Enter。
3. 现在,您的终端中的GCC编译器已经还原为默认设置。您可以通过运行以下命令验证:
```
gcc -v
```
如果输出显示默认的GCC编译器相关的信息,则表示还原成功。
请注意,这些步骤假设您之前通过`sudo update-alternatives --install`命令将GCC编译器配置为aarch64-linux-gnu-gcc。如果您使用了其他方法进行配置,可能需要根据您之前的操作进行适当的调整。