繁体   English   中英

在C程序中包含一个库(lsusb)

[英]Including a library (lsusb) in a C program

对于使用C进行编程,我还是一个新手,我正在开发一个程序,在该程序中我想控制集线器上各个端口的电源。 但是,那不是我现在遇到的问题。

我在网上找到了一个程序,该程序可以完成我要编译的程序。 但是,它使用#include<lsusb.h> lsusb与我要运行的文件位于一个完全不同的文件夹中(而不是子文件夹中),并且当我尝试对其进行编译时,从逻辑上来说,我得到的错误是找不到文件lsusb.h。

如何链接到该文件以便可以找到它?

这比C问题更像是GCC工具链问题(尽管大多数C编译器确实使用相同的Unixy标志)。

包含文件( <> )周围的花括号表示您希望编译器在其标准搜索路径中搜索包含文件。 因此,您可以通过自己将其包含在标准包含文件搜索路径中的目录中,或将其目录添加到文件搜索路径中来访问该新包含文件。 使用GCC,您可以通过给gcc标记-I"directoryname"实现后者,其中“ directoryname”是保留新的包含文件的完整文件路径。

一旦编译器找到它,链接器就可能对库文件本身有完全相同的问题(“ liblsusb.a”?)。 您以相同的方式修复。 标志GCC的链接器将需要-L而不是-I

请参见gcc手册页中的“ -I”参数。 它允许您指定要在其中查找头文件的目录。 另请参见-l和-L。

或尝试#include“ ../../path_to_the_file/lsusb.h”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM