最近在Linux系统下学习开源软件,在生成可执行文件前,需要对软件源码进行编译,遇到下面的问题,一些新手可能找不到修改FLAGS的位置。
查了一圈,发现是在编译时数组过大时出现的编译错误。
解决办法:
内存超过2G会出现问题。需要添加编译选项:-mcmodel
调整编译时的对静态数组要求的大小:-mcmodel=medium(中级) -mcmodel=large(高级)
编译选项具体修改位置:
打开当前Makefile文件,在你使用的编译器Flags后添加-mcmodel=medium
比如我使用的是gcc编译器,所以我们 就在CFLAGS后添加即可。保存退出后执行make编译命令,这时编译就不会再出现上面的问题了。
参考