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