我已经静态库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