gpt4 book ai didi

c++ - 如何将您自己的 C 代码编译为 ModemManager 的一部分

转载 作者:行者123 更新时间:2023-11-28 05:45:40 28 4
gpt4 key购买 nike

我想编写简单的 C 代码来使用 ModemManager 1.4.12 中的功能,以使用 ModemManager 中提供的一些功能来执行调制解调器相关功能。我已经添加了我需要的标题:

#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <glib.h>
#include <gio/gio.h>
#include <libmm-glib.h>
#include "mmcli.h"
#include "mmcli-common.h"

用gcc -o test test.h编译

但它提示找不到 glib.h。

当我编译时:gcc -Wall pkg-config --cflags libnm pkg-config --cflags --libs gio-2.0它提示 fatal error :libmm-glib.h:没有这样的文件或目录当我使用 -I 来包含 libmm-glib.h 时,它会提示找不到 ModemManager.h。

我应该继续使用 -I 添加目录还是有更合适的方法?

谢谢

最佳答案

不清楚你要完成什么...

您想构建一个单独的程序,使用 libmm-glib 通过 DBus 与 ModemManager 对话吗?如果是这样:

 /* save as test.c and compile with:
* $ gcc -o test `pkg-config --cflags --libs mm-glib` test.c
*/
#include <libmm-glib.h>

int main (int argc, const char **argv)
{
...
}

请注意,pkg-config 请求 mm-glib cflags/libs 应该足够了,因为这将拉取任何额外的依赖 cflags/libs,如 glib/gobject/gio。

但是从您的代码示例来看,您还添加了 mmcli 特定 header ...那么您是否想使用新功能扩展 mmcli?如果是这样,您应该扩展 mmcli 源,而不是提供自定义 gcc 命令,如果您需要在 mmcli 的编译中添加新文件,只需修改 cli/下的 Makefile.am 即可。

关于c++ - 如何将您自己的 C 代码编译为 ModemManager 的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36273209/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com