在qt creator中编写的c++文件,因为之前安装pytorch和cuda将gcc7降到了gcc4.8,导致莫名其妙的编译错误,比如
/home/zr/123/new_mosse/main.cc:57: error: ‘ii’ cannot appear in a constant-expression
temp.at<cv::Vec<double, 2>>(ii, jj) = img_org.at<cv::Vec<double, 2>>(i, j);
^
/home/zr/123/new_mosse/main.cc:57: error: a comma operator cannot appear in a constant-expression
temp.at<cv::Vec<double, 2>>(ii, jj) = img_org.at<cv::Vec<double, 2>>(i, j);
^
等,是由于编译器的不同造成的,可以改回gcc原来的版本编译则正确。这个是错误的原因。也可以重新拷贝源文件新建一个工程,编译也会正确通过。感觉是由于之前编译过了留下了上个gcc版本的信息,所以也可以考虑一下删除qt creator生成的文件夹,这个没有试验。但是不要copy一份全部的文件夹重新编译,会错哦。
在qt creator中引用自己的头文件在#include " []"中要添加上相对路径,不然报错找不到头文件,不管你在.pro文件里添加了多少东西。