最近在openwrt上做了个东西,在Fedora 20 和 ubuntu 14中编译都没有问题,然而移到openwrt的package目录中编译时却遇到 error: inconsistent operand constraints in an 'asm',这个问题。
查看该行代码,竟然是:FD_ZERO导致,这就很纳闷了,网上搜索了一翻,没有太大的收获,很怀疑是由于该函数是被重写过,查看了build_dir下的其他包,发现很多使用的地方
都使用了宏HAVE_SELECT来进行分隔,没有太深入的追踪。
最后原因定位到Makefile中的INCLUDE,我在Makefile中定义为-I(CROSS_COMPILER)/usr/include,这里很容易出现问题,如果CROSS_COMPILER未定义,那么链的就是系统的头文件,于是将这行中的/usr/include去掉,让编译器链接交叉编译中的头文件就可以了。