我收到以下错误
找不到 'libwebsockets.h' 文件
但是我已经使用命令安装了libwebsockets
brew install libwebsockets
如何解决此错误?我想实现一个网络套接字服务器,我需要这个。如果我的代码只有以下行
#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