博客專欄

        EEPW首頁 > 博客 > gcc編譯報錯,fatal error: gnu/stubs-soft.h: No such file or directory問題解決!!

        gcc編譯報錯,fatal error: gnu/stubs-soft.h: No such file or directory問題解決!!

        發布人:電子禪石 時間:2020-09-24 來源:工程師 發布文章

         最近需要為客戶平臺編譯一個工具, 客戶提供了交叉編譯鏈過來, 按照以往的編譯經驗, 找到gcc所在的路徑,然后通過
         make  CROSS_COMPILE= gcc所在路徑即可, 但是報錯了,提示 fatal error: gnu/stubs-soft.h: No such file or directory 
         具體如下:

        ballack@ballack:~/test$ make TARGET=WL CROSS_COMPILE=/home/ballack/1.8.1/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
        make clean
        make[1]: 正在進入目錄 `/home/ballack/test'
        rm -f *.o *.so *.a wl/exe/*.o wl/ppr/src/*.o shared/*.o shared/bcmwifi/src/*.o dhd/exe/*.o
        make[1]:正在離開目錄 `/home/ballack/test'
        make test
        make[1]: 正在進入目錄 `/home/ballack/test'/home/ballack/1.8.1/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc --sysroot=/home/ballack/1.8.1/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi -Iinclude -Icommon/include -Ishared/bcmwifi/include -Iwl/exe/ -Iwl/ppr/include -Idhd/exe -g -Wall -DBCMWPA2 -DTARGETENV_android -DLINUX -Dlinux -DRWL_WIFI -DRWL_SOCKET -DRWL_DONGLE -DRWL_SERIAL -DBCMINTERNAL -DBCMDBG -DD11AC_IOTYPES -DPPR_API -DSR_DEBUG -DWLCNT -DWIFI_ACT_FRAME -DWLEXTLOG -DSERDOWNLOAD -DWLTEST -DWLBTAMP -DWLP2P -DWLMCHAN -DWLTDLS -DWLNDOE -DWLP2PO -DWLANQPO -DTRAFFIC_MGMT -DWL11ULB -DBT_WIFI_HANDOVER -DWLWNM -DWLBSSLOAD_REPORT -DWL_NAN -DWL_BTCDYN -DWLPFN -DWLPFN_AUTO_CONNECT -DWLC_HIGH   -c -o wl/exe/wlu.o wl/exe/wlu.c
        In file included from /home/ballack/1.8.1/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/usr/include/features.h:389:0,
                         from /home/ballack/1.8.1/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/usr/include/sys/types.h:25,
                         from include/typedefs.h:201,
                         from include/wlioctl.h:18,
                         from wl/exe/wlu.c:27:/home/ballack/1.8.1/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h>
                                     ^
        compilation terminated.
        make[1]: *** [wl/exe/wlu.o] 錯誤 1make[1]:正在離開目錄 `/home/ballack/test'
        make: *** [make_wl] 錯誤 2

        查看對方提供的sdk編譯說明, 才知道他們編譯之前需要source一個文件:
         source  /home/ballack/1.8.1/environment-setup-cortexa8hf-vfp-neon-poky-linux-gnueabi
         查看文件內容, 發現 CC 是需要指定一系列參數的:
         export SDKTARGETSYSROOT=/home/ballack/1.8.1/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi
         export CC="arm-poky-linux-gnueabi-gcc  -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=$SDKTARGETSYSROOT"
         所以直接使用arm-poky-linux-gnueabi-gcc  -o  test  test.c 是不行的。


        解決方法一:
         source ./1.8.1/environment-setup-cortexa8hf-vfp-neon-poky-linux-gnueabi
         注釋掉
         #CC = $(CROSS_COMPILE)gcc
         然后make即可。

        解決方法二:
         source ./1.8.1/environment-setup-cortexa8hf-vfp-neon-poky-linux-gnueabi
         修改test工具目錄下的Makefile中的CC為:
         CC=arm-poky-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=/home/ballack/1.8.1/sysroots/cortexa8hf-vfp-neon-poky-linux-gnueabi
         然后make即可。

        這樣直接make就可以通過了,  搞了好久 ,僅此用來警醒自己, 需要打好基礎!!!


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

        熔斷器相關文章:熔斷器原理


        關鍵詞:

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 紫金县| 通许县| 盈江县| 新竹市| 屏边| 炎陵县| 赣榆县| 日喀则市| 瑞金市| 齐齐哈尔市| 定南县| 平果县| 精河县| 苍南县| 新安县| 九寨沟县| 改则县| 治多县| 卓资县| 天镇县| 大安市| 土默特右旗| 瑞安市| 中宁县| 同德县| 海丰县| 平阳县| 山阳县| 剑阁县| 双城市| 河源市| 宝坻区| 卫辉市| 刚察县| 卢氏县| 安仁县| 延川县| 盐津县| 凉山| 磐石市| 庆安县|