[英]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.