应该如何链接libqmi?

问题描述 投票:2回答:1

我尝试使用libqmi,但无法通过链接器。它一直在libqmi函数上说“未定义的引用”。有什么建议需要吗?

路径和库可用于gcc,符号在libqmi-glib内,看起来一切就绪。

我认为代码是最简单的。

int main(int argc, char **argv)
{
    GFile *qmi = g_file_new_for_path("/dev/cdc-wdm0");
    printf("%li\r\n", (long int)(qmi));
    g_object_unref(qmi);
    return 0;
}

并且构建过程如下:

gcc -I/usr/local/include/libqmi-glib/ -I/usr/include/glib-2.0/ -I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ whatever.c -L/usr/local/lib/ -L/usr/lib/x86_64-linux-gnu/ -lqmi-glib -lglib-2.0
c++ c libqmi
1个回答
0
投票

您缺少指向libgobject-2libgio-2的链接。

无论如何,使用libqmi编译程序的最佳方法是使用pkg-config,因为它知道您应该使用的所有cflag和ldflags;例如假设您在/ usr / local中安装了libqmi,则可以执行此操作:

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gcc $(pkg-config --cflags qmi-glib) whatever.c $(pkg-config --libs qmi-glib)
© www.soinside.com 2019 - 2024. All rights reserved.