我有以下Makefile:
remote: RemoteCMD.o sshlib.o
g++ -L/usr/include/libssh -lssh RemoteCMD.o sshlib.o -o RemoteCMD
RemoteCMD.o: RemoteCMD.cpp
g++ -c RemoteCMD.cpp
sshlib.o: sshlib.cpp
g++ -c sshlib.cpp
sshlib.h包含libssh / libssh.h,sshlib.cpp包含sshlib.h。当我得到时:
g++ -L/usr/include/libssh -lssh RemoteCMD.o sshlib.o -o RemoteCMD
sshlib.o: In function `ssh::connect(char*, char*)':
sshlib.cpp:(.text+0x1c): undefined reference to `ssh_new'
我还仔细检查了libssh.a的位置:
$> whereis libssh.a
libssh: /usr/include/libssh
我还尝试了-llibssh
和-llibssh.a
。似乎this家伙也有一个非常类似的未回答的问题。