gpt4 book ai didi

c - 在 Linux 中安装一个新库,并从我的 C 代码访问它

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:44 25 4
gpt4 key购买 nike

我正在做一个需要我下载和使用的项目 this .在下载的文件夹中,解压后我会看到三样东西:

  1. 一个名为“include”的文件夹
  2. 一个名为“src”的文件夹
  3. 一个名为“Makefile”的文件

经过一些研究,我发现我必须导航到包含这些文件的目录,然后输入命令 make

它似乎在我的系统中安装了库。所以我尝试了一段应该使用该库的代码示例:

csp_conn_t * conn;
csp_packet_t * packet;
csp_socket_t * socket = csp_socket(0);
csp_bind(socket, PORT_4);
csp_listen(socket, MAX_CONNS_IN_Q);

while(1) {
conn = csp_accept(socket, TIMEOUT_MAX);
packet = csp_read(conn, TIMEOUT_NONE);
printf(“%S\r\n”, packet->data);
csp_buffer_free(packet);
csp_close(conn);
}

这就是为代码的示例服务器端提供的所有内容。所以我决定将这些添加到顶部:

#include <csp.h>
#include <csp_buffer.h>
#include <csp_config.h>
#include <csp_endian.h>
#include <csp_interface.h>
#include <csp_platorm.h>

认为我走对了路,我尝试用 gcc 编译代码,但我得到了这个错误:

csptest_server.c:1: fatal error: csp.h: No such file or directory
compilation terminated.

我想我可能毕竟没有正确安装库,但为了确定,我发现我可以通过运行这个命令来检查,并得到这个结果:

find /usr -iname csp.h
/usr/src/linux-headers-2.6.35-28-generic/include/config/snd/sb16/csp.h
/usr/src/linux-headers-2.6.35-22-generic/include/config/snd/sb16/csp.h

所以似乎安装了 csp.h,也许我在 header 包含行中错误地引用了它?有什么见解吗?非常感谢。

最佳答案

make 命令可能只是构建库,而不是安装它。您可以尝试 sudo make install。这是“常用”方法,但我建议您查看库的文档(如果有的话)。

sudo 命令仅在您无权写入系统的包含和库目录时才需要,这可能是您的情况。

另一种可能性(而不是安装库)是告诉 GCC 库的源代码和生成的二进制文件的位置(通过 gcc 命令的 -I 和 -L 选项。

关于c - 在 Linux 中安装一个新库,并从我的 C 代码访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11970499/

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