如何链接gcc的标题

如何链接gcc的标题,gcc,Gcc,很抱歉问了一个愚蠢的问题,但我真的不知道我做错了什么。 我下载此回购协议: 它包含./example/目录中的简单示例和./libgupnp/目录中的一些标题。 一个示例包括带有此行的gupnp.h: #include <libgupnp/gupnp.h> #包括 gupnp.h位于headers(./libgupnp/)目录中 我开始用gcc手动编译它,然后 light server.c:12:28:致命错误:libgupnp/gupnp.h:没有此类文件或 目录 好的,我安装

很抱歉问了一个愚蠢的问题,但我真的不知道我做错了什么。 我下载此回购协议: 它包含./example/目录中的简单示例和./libgupnp/目录中的一些标题。 一个示例包括带有此行的
gupnp.h

#include <libgupnp/gupnp.h>
#包括
gupnp.h
位于headers(./libgupnp/)目录中

我开始用gcc手动编译它,然后

light server.c:12:28:致命错误:libgupnp/gupnp.h:没有此类文件或 目录

好的,我安装了gupnp开发包

sudo apt get安装libgupnp-1.0-dev

现在gupnp.h也位于/usr/include/gupnp-1.0/libgupnp

我试着用

gcc light server.c-L/usr/include/gupnp-1.0/

gcc light server.c-llibgupnp

并且犯同样的错误

两个问题:

1) 如何链接此标题


2) 如果我需要安装libgupnp-1.0-dev,或者我可以将repo中的头与示例一起使用?

从第二个问题开始,您可能不想安装该dev包,因为您正在制作本地等效程序

您需要告诉gcc在哪里可以找到库的本地副本以及库的本地副本中的头。我假设您已经编译了(
/configure;make
),但没有安装它(
make install
)。您需要向gcc提供指向
/

如果您已经安装了它,-L和-I标志应该指向您安装它的位置(可能分别是/usr/local/lib和/usr/local/include)

您需要包括头文件和与库的链接。头文件不是库,因此不链接它们。在我看来,编译器找不到包含文件。您可以尝试通过
-I/path/to/the/header/file
显式地告诉它。