我已經靜態庫lib.a
,並在所有使用教程:如何用靜態庫編譯gcc?
gcc -o main main.o -L. -lib
,但我不能,我有錯誤:
/usr/bin/ld: cannot find -lib
collect2: error: ld returned 1 exit status
我需要使用:
gcc -o main main.o -L. -lib.a
爲什麼?我應該怎麼做才能修復它?
我已經靜態庫lib.a
,並在所有使用教程:如何用靜態庫編譯gcc?
gcc -o main main.o -L. -lib
,但我不能,我有錯誤:
/usr/bin/ld: cannot find -lib
collect2: error: ld returned 1 exit status
我需要使用:
gcc -o main main.o -L. -lib.a
爲什麼?我應該怎麼做才能修復它?
從gcc -l
文檔:
-l 庫:
鏈接器搜索庫,這實際上是一個文件名爲liblibrary.a目錄的標準列表。鏈接器然後使用該文件,就好像它已經通過名稱精確指定一樣。
...
使用-l選項並指定一個文件名之間的唯一區別在於,-l包圍庫「LIB」和「.A」和搜索幾個目錄。
因此,您不能將-l
與名爲'lib.a'的庫一起使用。如果沒有-l
,請使用'lib.a'來包含它。當然,您不能使用-L
然後設置要搜索此特定庫的目錄。
但我使用-L no -l – Ice
您正在使用:'-L'和'。'和'-l'與'ib',這使得'-L。 -lib'。 – MicroVirus
gcc -o main main.o -L -liba,仍然不起作用。 – Ice