code::Blocks 中配置android x86的编译环境

之前是android arm 的编译环境,现需改为android x86的环境
1. Project-->build options, 选择android平台,selected compiler 选择 GNU GCC Compiler,之前arm环境选的是 GNU GCC Compiler for ARM
2. Project --> build options --> Compiler setting --> Other Options 目录下,将 -march=armv7 改为 -march=i686
3. Search directories --> Compiler 中,由arm的包含路径改为x86的包含路径,我这里使用的是android ndk r 8d,如下(假设放在D盘):
    D:\android-ndk-r8d\platforms\android-9\arch-x86\usr\include
    D:\android-ndk-r8d\sources\cxx-stl\gnu-libstdc++\4.4.3\include
    D:\android-ndk-r8d\sources\cxx-stl\gnu-libstdc++\4.4.3\libs\x86\include
4. Search directories --> Linker 中,由arm的引用库路径改为x86的引用库路径,如下:
    D:\android-ndk-r8d\platforms\android-9\arch-x86\usr\lib
    D:\android-ndk-r8d\sources\cxx-stl\gnu-libstdc++\4.4.3\libs\x86
    D:\android-ndk-r8d\toolchains\x86-4.4.3\prebuilt\windows\lib\gcc\i686-linux-android\4.4.3
5. 在菜单栏的Setting --> Compiler,选择 Global compiler setting --> Toolchain executables中填写x86相关项,如下图: 

               code::Blocks 中配置android x86的编译环境_第1张图片

6. 配置好环境后,我在编译项目时遇到如下问题,
  (1) skipping incompatible 某一个库文件
       不兼容的库文件:引用的库文件不是x86平台下编译出来的,在x86环境下重新编译此库即可
  (2) 出现错误:undefined reference to `__stack_chk_fail_local'
       Project --> build options --> Compiler setting --> Other Options 中加入:-fno-stack-protector 即可 


你可能感兴趣的:(code::Blocks 中配置android x86的编译环境)