1. 程式人生 > >OPENWRT編譯問題:inconsistent operand constraints in an 'asm'

OPENWRT編譯問題:inconsistent operand constraints in an 'asm'

最近在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去掉,讓編譯器連結交叉編譯中的標頭檔案就可以了。