正点原子阿尔法开发板linux驱动开发遇到cc1: error: code model kernel does not support PIC mode
错误消息 "cc1: error: code model kernel does not support PIC mode" 通常出现在尝试编译某些代码时,特别是在使用GCC(GNU Compiler Collection)进行编译的时候。这个错误表明你在编译时尝试使用了位置无关代码(Position Independent Code, PIC),但是所选的目标或模式不支持这种类型的代码。
PIC是用于共享库的一种编译方式,它允许程序加载器可以在内存中的任何位置加载共享库,并且不会影响到程序的执行。然而,并不是所有的环境或目标架构都支持PIC。
解决办法:
每次编译指定架构和编译器
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
但是每次都要敲这么长有点麻烦,直接创建一个sh脚本,起名叫build.sh,给777权限。
chmod 777 build.sh
#!/bin/sh
make clean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
#!/bin/sh一定不要省略!