SET_TARGET_PROPERTIES called with incorrect number of arguments.

SET_TARGET_PROPERTIES(test PROPERTIES VERSION ${VERSION_INFO} SOVERSION 1)

cmake执行上面语句出现以下错误

SET_TARGET_PROPERTIES called with incorrect number of arguments.
原因是  VERSION_INFO 是空,导致SET_TARGET_PROPERTIES 语法变成了
SET_TARGET_PROPERTIES(target PROPERTIES name)
而不是
SET_TARGET_PROPERTIES(target PROPERTIES name value)

那为什么${VERSION_INFO} 变成空了呢
发现我将git上下载下到windows上的代码直接拷贝到了Ubuntu,然后执行。
而VERSION_INFO是从脚本获取的,尝试独立执行脚本,产生错误

 /bin/bash^M: bad interpreter: No such file or directory

原因就是脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 使用vim编辑器打开脚本, 运行:
:set ff?
fileformat=dos  发现格式不兼容,使用set ff=unix可以改为unix格式。

最终是重新下载zip包,直接放到Ubuntu下面解压,然后cmake就成功了。

你可能感兴趣的:(个人笔记,cmake)