为了在中标麒麟上写一个外设驱动,装了QT Creator写cpp,编辑器有很强大的语法提示,但是出现了很多在VS上没有的警告,或许是我对C++ 11理解不够透彻,或许是代码不够严谨,不过这些警告的内容都在代码的控制之下,是安全的,但是是很讨厌的。
典型的例子如下:
我需要用__DATE__和__TIME__宏来标识代码的编译时间,但是这时候就是会出现警告,大概的意思是宏的不重复性会引起每次编译出的文件不同,这是在我预见的,可以接受的范围内,虽然不影响编译,但是看着就是很不爽,就试图把这个警告去掉。
-Wno-date-time选项可以去除这个警告,但是我找了很久没找到在QT Creator的哪个界面上可以给编译器设置这个选项,一直这样疙疙瘩瘩的到几乎做完了代码,才偶然发现一个很方便的处理方式
在下图,出现警告一行的行首,鼠标悬停在黄色符号上时,会有一个关于这个警告的tip出现,可以看到他把去除警告的选项-Wdate-time也提示出来了,我一直都是按白色的复制按钮,复制文本进行搜索,当然,这个对着很多种警告做过很多次,没找到方法。
你可以注意到复制按钮的右边,有一个红色的叉叉,我一直认为这个是这个tip的关闭按钮,所以一直没有去理会它,反正鼠标移走就关掉了。知道某次我没事去点了一下,打开了新世界的大门,果然还是自己菜。
警告消失了,同时提示编译器的选项被切换到项目模式,这时候我才知道要去看那个倒霉的Clang Code Model。
项目被创建时,这个界面默认是下面这样的
它使用了全局的默认设置,需要修改时,点击第一个下拉框,把Global改成Custom之后,下方的下拉框被使能。
你可以在下面选择你要的配置,也可以进入Manage界面,对每一个配置做对应的修改,配置选项内,内置的(后缀为built-in)的不能做修改,但是你可以copy之后,加入自己的选项。
下图中,有几个Project:打头的配置文件,则是每一个项目文件对应的个性配置,这些在项目一开始建立时时不存在的,怎么来的?就是上面说的红叉叉按过之后出现的。
很明显,他帮我加进去了-Wno-date-time选项,忽略了我不想要的警告
智能至此,还是很爽的。