簡體   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