QZXing不适用于C++11语法?

重新整理写过的程序,发现了一个诡异的问题。将使用了QZXing的源程序包移动到另一个文件夹后,build,QZXing中的某个文件出现错误。
一步步回溯问题可能出现的地方。发现这个程序最开始的版本中并没有需要C++11支持的语法(如lambda表达式),因此.pro文件中也没有CONFIG += c++11这一句,也许就是这里出了问题。
删去.pro文件中的CONFIG += c++11,并且注释掉需要C++11支持的代码,build,没有问题。
再在.pro文件中加入CONFIG += c++11,去掉注释,build,没有问题。
那么为什么一开始build不成功呢?可能是因为QZXing不适用于C++11语法,而如果先build不需要C++11的部分,QZXing在这一步就已经被成功编译了,之后又没有改动QZXing相关的代码,因此再次build时不需要重新编译QZXing部分,故而没有问题。
大胆推测一下如果最后用的是rebuild而不是build那么还是会出错。

猜你喜欢

转载自blog.csdn.net/u013213111/article/details/87886459