我正在尝试使用提供的install.readme中的指示将libssh-0.8.5安装到Ubuntu 16.04上。我按照说明执行了每个步骤,但是在执行make命令构建项目后出现错误。错误如下:
[ 65%] Built target exec
tests/CMakeFiles/ssh_ping.dir/flags.make:8: *** target pattern contains no '%'. Stop.
CMakeFiles/Makefile2:1696: recipe for target 'tests/CMakeFiles/ssh_ping.dir/all' failed
make[1 ]: *** [tests/CMakeFiles/ssh_ping.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
我进行了研究,发现这可能是我的make文件中某处出现语法错误,导致构建无法继续进行。我查看了给出问题的目标make文件,但似乎无法确定是什么导致了错误。
flag.make文件如下:
问题似乎来自突出显示的粗线。谁能看到我想念的东西?
最佳答案
在StackOverflow(以及大多数其他类似的网站)上,请剪切文本并将其粘贴到您的问题中,并使用适当的 Markdown 工具设置其格式,而不是附加包含文本的图像。后者很难阅读,我们无法将其剪切并粘贴到答案中以显示出问题所在。
您不能在换行符中的带引号的字符串中嵌入换行符。 Make完全面向行,根本不分析引号。因此,要做到这一点:
FOO = "bar
biz"
不被认为是将包含换行符的值分配给变量
FOO
的一行。相反,它被认为是两行,第一行是将值"bar
赋给变量FOO
,第二行是语法错误,因为make无法将字符串baz"
解析为有效命令。
关于makefile - 构建libssh项目-目标模式不包含 '%',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54010914/