我收到以下错误
找不到“libwebsockets.h”文件
但我已经使用命令安装了 libwebsockets
冲泡安装 libwebsockets
我该如何解决这个错误?我想实现一个 websocketserver,我需要这个。如果我的代码只有以下行
#include <libwebsockets.h>
它给了我一个错误。我试图用gcc foo.c
我收到以下错误
找不到“libwebsockets.h”文件
但我已经使用命令安装了 libwebsockets
冲泡安装 libwebsockets
我该如何解决这个错误?我想实现一个 websocketserver,我需要这个。如果我的代码只有以下行
#include <libwebsockets.h>
它给了我一个错误。我试图用gcc foo.c
您需要将适当的编译和链接标志传递给编译器,以便它找到头文件和库。
这通常通过程序“pkg-config”来完成。要获取编译标志,请运行:
pkg-config libwebsockets --cflags
要获取链接标志:
pkg-config libwebsockets --libs
如果在同一步骤中编译和链接,则需要将上述两个命令输出的标志传递给编译器。如果您有单独的编译和链接命令,则在编译期间传递“--cflags”输出,在链接期间传递“--libs”输出。
在你的情况下,你可以编译:
gcc $(pkg-config libwebsockets --cflags) foo.c $(pkg-config libwebsockets --libs)
该$()
语法获取您放在和之间的命令的输出,(
并将)
其放入您的命令中,就好像您输入了它一样。
您可能应该编写一个小型构建脚本来为您执行此操作。例如,在与“foo.c”相同的目录中名为“build”的文件中:
#! /bin/sh
gcc $(pkg-config libwebsockets --cflags) foo.c $(pkg-config libwebsockets --libs)
使脚本可执行:
chmod +x build
然后就叫它:
./build