有一个工程,在GCC 4.1.2下编译没有问题,在gcc 4.3.2下面编译救出现 error: ‘<anonymous>’ has incomplete type这样的错误。该怎么解决呢?我尝试着将GCC 降级,但是可能由于机器位数的原因,出现suffix or operands invalid for `push`的错误。
...全文
18419打赏收藏
求救 gcc 编译 error: ‘<anonymous>’ has incomplete type
有一个工程,在GCC 4.1.2下编译没有问题,在gcc 4.3.2下面编译救出现 error: ‘’ has incomplete type这样的错误。该怎么解决呢?我尝试着将GCC 降级,但是可能由于机器位数的原因,出现suffix or operands invalid for `push`的错误。
error: ‘<anonymous>’ has incomplete type,这个确实是编译器的问题,也可以说是代码的问题,但是代码不是我写的,所以我也没法改。
suffix or operands invalid for `push`,这个是我将GCC降级之后,但是内核啥的都是64bits的,但是编译器啥的都是32位,但是所以出现这个错误,估计代码中嵌入了汇编代码。在Makefile中给GCC加上-Wa,--32选项,-Wa将选项传递给汇编器,--32告诉汇编器进行32位汇编。这样解决了问题。