cmake编译时报错解决

今天软件仓库通过cmake编译c++项目时遇到报错:

Cmake Parse error. Expected a command name, got unquoted argument with text “PROJECT”

因为CMakeList.txt是直接svn上拉下来的,没想到会这个有问题。

所有可能性都排出后,对比本地linux环境上的CMakeList.txt。

发现,svn上的CMakeList.txt文件格式是utf-8 bomb格式。

这就有问题了。

bomb解释:

BOM即:byte order mark
这个是为UTF-16和UTF-32准备的,用于标记字节序(byte order)。

「UTF-8」和「带 BOM 的 UTF-8」的区别就是有没有 BOM。即文件开头有没有 U+FEFF。标记大小端。大端:FEFF,小端:FFFE。

直接将CMakeList.txt文件改为no bomb格式即可。

linux上修改,vi打开 :set nobomb 即可。

windows上直接notepad++修改编码为utf-8无BOM格式编码。

 

 
喜欢 0
分享