2017-08-06 64 views
1

我在调试模式下构建我的应用程序,并且我注意到一些错误,指出“父级未能评估:没有位置,值可能已被优化” 。因此,我尝试在我的模块的build.gradle添加“-O0”是这样的:在cppFlags中添加“-O0”无法禁用android studio中的clang编译优化

externalNativeBuild { 
    cmake { 
     cppFlags "-O0 -frtti -fexceptions -std=c++11 -DANDROID_ARM_NEON=TRUE -mfloat-abi=softfp " 
     abiFilters "armeabi-v7a" 
    } 
} 

但尽管如此,同样的错误添加“-O0”后显示出来。请问如何正确禁用编译器优化?我的android Studio版本是2.3.3,我的sdk工具版本是26.0.2,我的ndk版本是15.1.4

+0

您可能会发现检查实际编译命令的外观如何,请参阅https://stackoverflow.com/a/43442227/192373。 –

回答

0

如果您想禁用发布版本的优化,只能强制为C/C++调试:

android { 
    defaultConfig { 
    externalNativeBuild { 
     cmake { 
     arguments '-DCMAKE_BUILD_TYPE:STRING=Debug' 
+0

感谢您的及时回复!请问如何禁用调试版本的优化? – Edmosphere

+0

对我来说,debug build带有'-O0'。这在'ndk-bundle/build/cmake/android.toolchain.cmake'中明确定义 –

相关问题