Disabling Clang Compiler warnings

开发中,常常须要禁止编译器提示某些warnings,下面是典型场景和html

1,使用CocoaPods时,引用的其余人开发的Pods中包含warnings。ios

2,直接引用其余人写的源代码时,包括经过直接导入Project、直接引用源文件中包含warnings。ui

3,本身写的代码中引入的warnings,好比调用performSelector: 向基类对象发送派生类中才定义的消息时。this

 

禁止warning的方法:spa

1,关闭Pods中的警告code

在Podfile中加入第4行的代码:inhibit_all_warnings!orm

 1 # Uncomment this line to define a global platform for your project
 2 # platform :ios, '6.0'
 3 
 4 inhibit_all_warnings!
 5 
 6 target 'TestTarget' do
 7 pod 'SDWebImage', '~> 3.7.1'
 8 pod 'MBProgressHUD', '~> 0.9'
 9 pod 'TMCache', '~> 1.2.3'
10 pod 'AutoCoding', '~> 2.2.1'
11 end

保存Podfile后,打开Workspace以前,不要忘了再次运行pod install让设置生效。htm

 

2,关闭某个文件中的警告对象

经过Xcode-Target-Build Phases菜单,找到包含警告的源文件,双击后,加入“-w”后保存,再次编译,就看不到该文件中包含的全部警告了。blog

经过Clang Compiler User's Manual,能够看到:-w:Disable all diagnostics.

若是只想关闭某个警告,能够使用-Wno-foo,foo是warning的名字。

BTW:若果想关闭全部警告,但只想打开特定警告,使用-Wfoo。一样的,foo是warning的名字。

 

3,关闭某段代码中的警告

1 #pragma clang diagnostic push
2 #pragma clang diagnostic ignored "-Wunused-variable"
3 
4 int a;
5 
6 #pragma clang diagnostic pop

第4行引入了一个常见的警告:未使用的变量,关闭该警告的方法就是在该行代码先后加上一、二、6行样式的代码,重点是第2行最后的"-Wunused-variable"。

相关文章
相关标签/搜索