如何 link Makefile 中的 libssh 库

How to link libssh library in Makefile

当我尝试编译我的测试程序时出现以下错误

g++     main.cpp   -o main
/tmp/ccICBwKO.o: In function `main':
main.cpp:(.text+0xa): undefined reference to `ssh_new'
main.cpp:(.text+0x2d): undefined reference to `ssh_free'
collect2: error: ld returned 1 exit status
make: *** [main] Error 1

在我的 make 文件中我有:

all:        main

$main:  main.cpp
        g++ main.cpp -o main -lssh

感谢您的帮助。 (我真的很讨厌C/C++...)

正如您从日志中看到的那样,make 没有使用您为 $main 提供的规则。我怀疑您想将其命名为 main$(main)

$main 将变量 $m 的值(默认为无,因为 m 未定义)与 ain 连接起来,因此您已经为ain 而不是 mainmake 因此依赖其从 .cpp 文件创建可执行文件的默认规则,其中不包括与 libssh.

的链接