我正在编写一个使用libssh的C程序。我的程序包括ext.h和c1.h.我将它们编译为ext.o和c1.o,我试图链接这些文件。我的libssh dylib文件位于
SSHLIB = -L/usr/local/Cellar/libssh/0.6.3_2/lib
所以在我的Makefile中,我试图执行
clang -o c1 ext.o c1.o $(SSHLIB)
然而,它会引发很多错误,例如
Undefined symbols for architecture x86_64:
"_ssh_connect", referenced from:
_ext in ext.o
"_ssh_disconnect", referenced from:
_ext in ext.o
"_ssh_free", referenced from:
_ext in ext.o
我试着查看目录SSHLIB,并尝试
nm -gU libssh.dylib
我可以看到它包含许多功能,包括_ssh_connect和_ssh_disconnect。为什么Clang无法链接他们?我该如何解决?