错误提示
goroutine 1 [running]:
android/soong/cc/config.setSdclangVars()
/home/vagrant/android-msm/build/soong/cc/config/global.go:197 +0x20d4
android/soong/cc/config.init.2()
/home/vagrant/android-msm/build/soong/cc/config/global.go:169 +0xcc9
android/soong/cc/config.init()
/home/vagrant/android-msm/build/soong/cc/config/tidy_test.go:42 +0x3969
main.init()
/home/vagrant/android-msm/out/soong/.bootstrap/soong-cc-
config/test/test.go:34 +0x4e
ninja: build stopped: subcommand failed.
这个问题出现在高通的Android高版本的源码编译的场合,解决办法能搜到一个stack上的解答,但是已经不适合当前的版本。
下面给出我发现的解决办法:
1.先要在任意一个vendorsetup.sh中添加变量。
export SDCLANG_AE_CONFIG=“device/qcom/common/sdclang.json”
我这里添加在device/qcom/common/vendorsetup.sh
2.添加sdclang.json
位置要和上面的路径一致,内容举例如下所示。
{
“default”: {
“SDCLANG”: false,
“SDCLANG_PATH”: “vendor/qcom/proprietary/llvm-arm-toolchain-ship/3.9/bin”,
“SDCLANG_PATH_2”: “vendor/qcom/proprietary/llvm-arm-toolchain-ship/4.0/bin”,
“SDCLANG_FLAGS”: “-Wno-vectorizer-no-neon”,
“SDCLANG_FLAGS_2”: “-Wno-vectorizer-no-neon”
},
“msmnile”: {
“SDCLANG”: true,
“SDCLANG_PATH”: “vendor/qcom/proprietary/llvm-arm-toolchain-ship/3.9/bin”,
“SDCLANG_PATH_2”: “vendor/qcom/proprietary/llvm-arm-toolchain-ship/4.0/bin”,
“SDCLANG_FLAGS”: “-Wno-vectorizer-no-neon”,
“SDCLANG_FLAGS_2”: “-Wno-vectorizer-no-neon”
},
“msm8998”: {
“SDCLANG”: true,
“SDCLANG_PATH”: “device/qcom/common/llvm-arm-toolchain-ship/4.0/bin”,
“SDCLANG_PATH_2”: “device/qcom/common/llvm-arm-toolchain-ship/4.0/bin”,
“SDCLANG_FLAGS”: “-Wno-vectorizer-no-neon”,
“SDCLANG_FLAGS_2”: “-Wno-vectorizer-no-neon”
},
}
3.sdclang对应的工具可使用OnePlus在github上的开源代码中的工具。
网址为:
https://github.com/OnePlusOSS/android_device_qcom_common/tree/oneplus6/9.0.0

更多相关文章

  1. Android(安卓)P WMS addwindow流程
  2. android 4.2 修改默锁屏为无
  3. GreenDao
  4. Android(安卓)Studio 打包错误org.gradle.api.InvalidUserDataEx
  5. Android(安卓)Studio使用总结
  6. android switch button 报 java.lang.NullPointerException: Att
  7. android ios vue 互调
  8. android targetSdkVersion 改成28以后出的问题
  9. Android中的compileSdkVersion,minSdkVersion,targetSdkVersion和b

随机推荐

  1. Linux命令中的find命令
  2. 用node和express连接mysql实现登录注册
  3. 静态、抽象、类常量、接口、后期静态绑定
  4. linux上mongodb的安装与卸载
  5. 少不更事爱前端,每天都想着转后端。
  6. Oracle的用户权限及其管理操作
  7. 带你一起了解PHP的错误类型和错误级别
  8. 为什么使用PreparedStatement?
  9. 使用面向对象方法实现用户信息增删改查
  10. 在服务器上排除问题的头 5 分钟