要鏈接一個.so
動態庫,需要在編譯時使用-l
選項指定庫的名稱,並使用-L
選項指定庫的路徑。例如,假設有一個名爲libfoo.so
的動態庫,它位於/usr/local/lib
目錄下,使用以下命令鏈接該庫:
g++ -o myprogram myprogram.cpp -L/usr/local/lib -lfoo
這將編譯myprogram.cpp
文件,並將libfoo.so
動態庫鏈接到可執行文件myprogram
中。在鏈接時,-L
選項指定庫的路徑,-l
選項指定庫的名稱(不包括前綴lib
和後綴.so
)。請注意,庫名稱區分大小寫。
如果動態庫位於默認的庫路徑中(例如/usr/lib
或/usr/local/lib
),則可以省略-L
選項。例如,如果動態庫名爲libfoo.so
,則可以使用以下命令鏈接該庫:
g++ -o myprogram myprogram.cpp -lfoo
這將在默認的庫路徑中查找libfoo.so
動態庫,並將其鏈接到可執行文件myprogram
中。