pkg-config

pkg-config libwebsockets --libs --cflags

gcc -g -Wall $< -o $@ `pkg-config libwebsockets --libs --cflags`

gcc: 编译器的命令,用于编译源代码文件。
-g: 启用调试信息的选项,生成可调试的可执行文件。
-Wall: 启用所有警告的选项,编译时显示所有警告信息。
$<: 自动变量,表示当前规则的第一个依赖文件(源代码文件)。
-o $@: 输出选项,指定生成的可执行文件的名称为当前规则的目标文件。
pkg-config libwebsockets --libs --cflags: 命令替换,用于获取 libwebsockets 库的编译选项和链接选项。--libs 参数表示获取链接选项,--cflags 参数表示获取编译选项。这些选项将被添加到编译命令中,以确保正确链接和编译 libwebsockets 库。
综合起来,该命令用于将 server.c 源代码文件编译为一个可执行文件 server,同时链接 libwebsockets 库,并包含库的编译和链接选项。

Ubuntu安装库文件

sudo apt-get install libwebsockets-dev

pkg-config怎么找到的


pkg-config是一个用于在Unix-like系统上查询软件包信息的工具。它通过检查已安装软件包的元数据文件来提供关于软件包的编译选项和链接选项。

当你在终端中运行pkg-config命令并提供软件包的名称,它会查找与该软件包关联的元数据文件,这些文件通常存储在系统的特定目录中。这些元数据文件包含了有关软件包的信息,例如库文件路径、头文件路径、依赖关系等。

pkg-config工具会解析这些元数据文件并返回与软件包相关的编译选项和链接选项。这些选项可以被用于编译和链接程序,以确保正确地使用所需的库和头文件。

在Ubuntu系统上,默认情况下,pkg-config工具会搜索/usr/lib/pkgconfig和/usr/share/pkgconfig这两个目录中的元数据文件。这些文件的命名通常以软件包的名称为基础,例如libwebsockets.pc。通过查找这些元数据文件,pkg-config可以找到与特定软件包关联的选项。

总结起来,pkg-config通过查找并解析软件包的元数据文件来获取与软件包相关的编译选项和链接选项,以方便在编译和链接程序时正确使用所需的库和头文件。

sudo find / -name libwebsockets.pc

flynnsin@flynnsin:~/src/simple-libwebsockets-example-master$ sudo find / -name libwebsockets.pc
find: ‘/run/user/1000/doc’: 权限不够
find: ‘/run/user/1000/gvfs’: 权限不够
/usr/lib/x86_64-linux-gnu/pkgconfig/libwebsockets.pc
flynnsin@flynnsin:~/src/simple-libwebsockets-example-master$ 

你可能感兴趣的:(嵌入式linux工具,数据库)