gcc compilation error value too large for defined data type

vmware中通过hgfs共享的源码,用gcc编译时候报告错误。

Value too large for defined data type。

用stat命令检查源码文件,发现源码的inode值比较大,举例281474980977064。

原因是,vmware中运行的操作系统是64位的,hgfs的inode值需要64位整数才能够保存,运行的gcc是32位的,调用stat失败。解决方法有下面几种。

  • 可以把vmware中运行的操作系统换成32位。
  • 可以把编译器换成64位。
  • 可以在虚拟机内部编译代码。