<strike id="kiyse"></strike>
  • <tr id="kiyse"></tr>
  • <strike id="kiyse"></strike><samp id="kiyse"><tbody id="kiyse"></tbody></samp>
    <strike id="kiyse"><s id="kiyse"></s></strike>
    <tr id="kiyse"></tr>
    <noframes id="kiyse"><code id="kiyse"></code></noframes>
    <th id="kiyse"></th>
    <samp id="kiyse"></samp>
  • <th id="kiyse"><s id="kiyse"></s></th>

  • 主題:cmake交叉編譯錯誤

      共有43889人關注過本帖    
    客人
    1樓


    cmake交叉編譯錯誤  發帖心情 Post By:2019-4-2 17:34:00   [只看該作者]

    使用 ESM6802-toolchain-x86_64-qt5-8.sh 安裝編譯工具鏈。使用默認安裝目錄/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/


    編譯目錄如下面

    cmake-test

    |-- build
    |-- CMakeLists.txt
    |-- cross-compile.txt
    `-- hello.cpp

    使用其他家的交叉編譯器沒有問題。使用你們家的出現如下編譯錯誤

    newrt@newrt-desktop:~/Documents/cmake-test/build$ cmake -DCMAKE_TOOLCHAIN_FILE=../cross-compile.txt ..
    -- The C compiler identification is GNU 5.3.0
    -- The CXX compiler identification is GNU 5.3.0
    -- Check for working C compiler: /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-emtronix-linux-gnueabi/arm-emtronix-linux-gnueabi-gcc
    -- Check for working C compiler: /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-emtronix-linux-gnueabi/arm-emtronix-linux-gnueabi-gcc -- broken
    CMake Error at /usr/share/cmake-3.12/Modules/CMakeTestCCompiler.cmake:52 (message):
      The C compiler

        "/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-emtronix-linux-gnueabi/arm-emtronix-linux-gnueabi-gcc"

      is not able to compile a simple test program.

      It fails with the following output:

        Change Dir: /home/newrt/Documents/cmake-test/build/CMakeFiles/CMakeTmp
       
        Run Build Command:"/usr/bin/make" "cmTC_167cc/fast"
        /usr/bin/make -f CMakeFiles/cmTC_167cc.dir/build.make CMakeFiles/cmTC_167cc.dir/build
        make[1]: ����Ŀ¼��/home/newrt/Documents/cmake-test/build/CMakeFiles/CMakeTmp��
        Building C object CMakeFiles/cmTC_167cc.dir/testCCompiler.c.o
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-emtronix-linux-gnueabi/arm-emtronix-linux-gnueabi-gcc  -I/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/cortexa9hf-neon-emtronix-linux-gnueabi/include/c++/5.3.0 -I/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/cortexa9hf-neon-emtronix-linux-gnueabi/usr/include   -o CMakeFiles/cmTC_167cc.dir/testCCompiler.c.o   -c /home/newrt/Documents/cmake-test/build/CMakeFiles/CMakeTmp/testCCompiler.c
        Linking C executable cmTC_167cc
        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_167cc.dir/link.txt --verbose=1
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-emtronix-linux-gnueabi/arm-emtronix-linux-gnueabi-gcc      -rdynamic CMakeFiles/cmTC_167cc.dir/testCCompiler.c.o  -o cmTC_167cc
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find crt1.o: No such file or directory
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find crti.o: No such file or directory
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find crtbegin.o: No such file or directory
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find -lgcc
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find -lgcc_s
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find -lc
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find -lgcc
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find -lgcc_s
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find crtend.o: No such file or directory
        /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-emtronix-linux-gnueabi/gcc/arm-emtronix-linux-gnueabi/5.3.0/real-ld: cannot find crtn.o: No such file or directory
        collect2: error: ld returned 1 exit status
        make[1]: *** [CMakeFiles/cmTC_167cc.dir/build.make:87��cmTC_167cc] ���� 1
        make[1]: �뿪Ŀ¼��/home/newrt/Documents/cmake-test/build/CMakeFiles/CMakeTmp��
        make: *** [Makefile:121��cmTC_167cc/fast] ���� 2


    CMakeLists.txt 內容如下

    project(hello)
    add_executable(hello hello.cpp)

    cross-compile.txt內容如下

    #to set the toolpath variable
    set(TOOLCHAIN_DIR "/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots")
    set(TOOLCHAIN_HOST "${TOOLCHAIN_DIR}/x86_64-pokysdk-linux/usr/bin/arm-emtronix-linux-gnueabi/arm-emtronix-linux-gnueabi")
    set(TOOLCHAIN_INCLUDE
            "${TOOLCHAIN_DIR}/cortexa9hf-neon-emtronix-linux-gnueabi/usr/include"
            "${TOOLCHAIN_DIR}/cortexa9hf-neon-emtronix-linux-gnueabi/usr/include/c++/5.3.0"
       )
    set(TOOLCHAIN_LIB
            "${TOOLCHAIN_DIR}/cortexa9hf-neon-emtronix-linux-gnueabi/lib"
            "${TOOLCHAIN_DIR}/cortexa9hf-neon-emtronix-linux-gnueabi/usr/lib/arm-emtronix-linux-gnueabi/5.3.0/"
            "${TOOLCHAIN_DIR}/cortexa9hf-neon-emtronix-linux-gnueabi/usr/lib"
       )
    set(CMAKE_FIND_ROOT_PATH ${TOOLCHAIN_DIR}/cortexa9hf-neon-emtronix-linux-gnueabi)
    #message("${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE}")


    set(TOOLCHAIN_CC "${TOOLCHAIN_HOST}-gcc")
    set(TOOLCHAIN_CXX "${TOOLCHAIN_HOST}-g++")

    #to tell cmake it is crosscompileing
    set(CMAKE_CROSSCOMPILING TRUE)

    # Define name of the target system
    set(CMAKE_SYSTEM_NAME "Linux")

    # define the name of target architecture
    set(CMAKE_SYSTEM_PROCESSOR arm)

    # Define the compiler
    set(CMAKE_C_COMPILER ${TOOLCHAIN_CC})
    set(CMAKE_CXX_COMPILER ${TOOLCHAIN_CXX})

    #to tell cmake where to search the header or lib files
    #set(CMAKE_FIND_ROOT_PATH "${TOOLCHAIN_INCLUDE}" "${TOOLCHAIN_LIB}")
    include_directories (
            ${TOOLCHAIN_DIR}/cortexa9hf-neon-emtronix-linux-gnueabi/include/c++/5.3.0
            ${TOOLCHAIN_DIR}/cortexa9hf-neon-emtronix-linux-gnueabi/usr/include
            )
    set(CMAKE_INCLUDE_PATH
            ${TOOLCHAIN_INCLUDE} )
    set(CMAKE_LIBRARY_PATH ${TOOLCHAIN_LIB} )

    # search for programs in the build host directories
    set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

    # for libraries and headers in the target directories
    set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
    set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
    #set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

    希望你們支持一下謝謝


      單帖管理 | 引用 | 回復 回到頂部
    帥哥喲,離線,有人找我嗎?
    fumin
    2樓 信息 | 搜索 | 郵箱


    加好友 發短信
      發帖心情 Post By:2019-4-2 17:42:00   [只看該作者]

    使用TI的交叉編譯器

    newrt@newrt-desktop:~/Documents/cmake-test/build$ cmake -DCMAKE_TOOLCHAIN_FILE=../cross-compile2.txt ..
    -- The C compiler identification is GNU 6.2.1
    -- The CXX compiler identification is GNU 6.2.1
    -- Check for working C compiler: /opt/newrt/TKS/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc
    -- Check for working C compiler: /opt/newrt/TKS/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /opt/newrt/TKS/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-g++
    -- Check for working CXX compiler: /opt/newrt/TKS/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-g++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/newrt/Documents/cmake-test/build

    沒有問題。


      單帖管理 | 引用 | 回復 回到頂部
    帥哥喲,離線,有人找我嗎?
    fumin
    3樓 信息 | 搜索 | 郵箱


    加好友 發短信
      發帖心情 Post By:2019-4-2 17:44:00   [只看該作者]

    回到錯誤的問題點

    》》》cannot find crt1.o: No such file or directory

    發現在/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/cortexa9hf-neon-emtronix-linux-gnueabi/usr/lib/crt1.o。

    那就是我哪里設置問題。但是cross-compile中該設的變量我都設置啦。那就奇怪了???

    [此貼子已經被作者于2019-4-2 17:44:26編輯過]

      單帖管理 | 引用 | 回復 回到頂部
    x10
    4樓


      發帖心情 Post By:2019-4-4 23:02:00   [只看該作者]

    黃工比較清楚,他在外出差。我會讓他盡快看看。


      單帖管理 | 引用 | 回復 回到頂部
    帥哥喲,離線,有人找我嗎?
    hzc
    5樓 信息 | 搜索 | 郵箱


    加好友 發短信 員工
      發帖心情 Post By:2019-4-4 23:42:00   [只看該作者]

    你好,如果使用cmake編譯的話,不需要對工具鏈做任何設置,所以cross-compile.txt是不需要的,只需要在CmakeList設置工程的名稱,源文件等就行了。然后使用source命令加載工具鏈安裝目錄下的environment文件,就可以直接在工程中使用cmake .生成makefile了。


      單帖管理 | 引用 | 回復 回到頂部
    帥哥喲,離線,有人找我嗎?
    fumin
    6樓 信息 | 搜索 | 郵箱


    加好友 發短信
      發帖心情 Post By:2019-4-9 16:23:00   [只看該作者]

    非常感謝黃工的信息和相關幫助。按照上述描述問題解決。

    [此貼子已經被作者于2019-4-9 16:23:20編輯過]

      單帖管理 | 引用 | 回復 回到頂部
    帥哥喲,離線,有人找我嗎?
    hzc
    7樓 信息 | 搜索 | 郵箱


    加好友 發短信 員工
      發帖心情 Post By:2019-4-9 16:35:00   [只看該作者]

    圖片點擊可在新窗口打開查看問題解決了就好


      單帖管理 | 引用 | 回復 回到頂部

    返回首頁

    cmake交叉編譯錯誤

    用戶名:
                驗證碼: 驗證碼,看不清楚?請點擊刷新驗證碼
    內容:
    91精品全国免费观看青青| 国产精品99久久久久久人四虎| 精品96在线观看影院| 99热这里只/这里有精品| 亚洲精品一级无码鲁丝片| 亚洲精品中文字幕麻豆| 99精品国产在热久久| 无码日韩人妻精品久久| 2020国产精品视频| 最新精品国偷自产在线| 国产精品美女久久久久av超清| 91精品观看91久久久久久| 亚洲精品自产拍在线观看| 国产一区二区三区日韩精品| 国产伦精品一区二区三区女| 久久久久国产成人精品| 精品久久久久久久久久中文字幕| 精品久久久久不卡无毒| 国产精品91在线| 久久久久人妻精品一区二区三区| 中文精品久久久久人妻| 日本国产精品久久| 精品国偷自产在线视频99| 51精品视频免费国产专区| 亚洲国产精品一区第二页 | 国产AV国片精品有毛| HEYZO无码综合国产精品227| 精品国产亚洲一区二区三区在线观看| 精品无码一区二区三区亚洲桃色| 亚洲精品国产成人片| 精品国产免费人成网站| 国产91精品久久久久999| 香蕉久久精品国产| 国产精品天天看大片特色视频 | 91精品啪在线观看国产线免费| 久久伊人精品青青草原高清| 久久国产成人亚洲精品影院 | 国产在视频线精品视频2021| 91精品国产91久久久久青草| 日韩一区精品视频一区二区| 亚洲国产精品乱码一区二区|