C 尝试创建静态链接以创建可执行文件

C 尝试创建静态链接以创建可执行文件,c,bash,gcc,C,Bash,Gcc,我有这些库:biblioteca.abiblioteca.2main2.cbiblioteca.h和biblioteca.c。我最近用main2.c和biblioteca.c创建了一个excecutable。所有文件都来自路径/home/Embedded/Class2 我使用下一个命令行创建带有静态库的可执行文件 gcc -o Staticalc main2.c -L</home/Embedded/Class2> -lbiblioteca 它返回:/usr/bin/ld:找不到-l

我有这些库:
biblioteca.a
biblioteca.2
main2.c
biblioteca.h
biblioteca.c
。我最近用
main2.c
biblioteca.c
创建了一个excecutable。所有文件都来自路径
/home/Embedded/Class2

我使用下一个命令行创建带有静态库的可执行文件

gcc -o Staticalc main2.c -L</home/Embedded/Class2> -lbiblioteca
它返回:
/usr/bin/ld:找不到-lbiblioteca
不要使用
。这些是shell重定向(例如,
cat/etc/passwd>/tmp/out

而不是:

gcc -o Staticalc main2.c -L/home/Embedded/Class2 -lbiblioteca
尝试:

或:


什么是“静态链接”?“它返回:
bash/home/Embedded/Class2
”。这是什么意思?这只是shell提示符吗?建议您准确粘贴完整运行日志。要使
-lbiblioteca
正常工作,静态库应命名为
libbiblioteca.a
,而不是
biblioteca.a
。或者您可以直接给出库文件的路径和名称,而不使用
-l
gcc -o Staticalc main2.c -L/home/Embedded/Class2 -lbiblioteca
gcc -o Staticalc main2.c -L /home/Embedded/Class2 -lbiblioteca
gcc -o Staticalc main2.c --library-path=/home/Embedded/Class2 -lbiblioteca