美文网首页
clion中C项目交叉编译说明

clion中C项目交叉编译说明

作者: 流痕无迹 | 来源:发表于2018-12-11 16:29 被阅读0次

    1、  在项目的CMakeLists.txt的开始处加上如下图所示配置(配置中的目录为你需要编译器的目录),平时开发调试的时候,设置SET(CROSS_COMPILE 0) 即不启用交叉编译。

    2、 交叉编译:首先SET(CROSS_COMPILE 1),然后把项目通过scp传输到linux虚拟机或者服务器上

    3、执行 cmake /path/your/project (项目根目录),这一步会生成交叉环境配置的Makefile

    4、 在项目根目录,执行 make ,这一步会生成和项目名同名的可执行文件demo中为hello

    5、Scp可执行文件到开发版,运行可执行文件。

    SET(CROSS_COMPILE 1)

    IF(CROSS_COMPILE)

        SET(

    CMAKE_SYSTEM_NAME linux)

        SET(

    TOOLCHAIN_DIR "/home/sz/project/arm-linux-gnueabihf")

    # specify the cross compiler

        SET(CMAKE_C_COMPILER   ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-gcc)

        SET(

    CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-g++)

        SET(

    GNU_FLAGS "-mfpu=vfp -fPIC")

        SET(

    CMAKE_CXX_FLAGS "${GNU_FLAGS} ")

        SET(

    CMAKE_C_FLAGS "${GNU_FLAGS")

    # where is the target environment

        SET(CMAKE_FIND_ROOT_PATH  ${TOOLCHAIN_DIR}

                ${TOOLCHAIN_DIR}/arm-linux-gnueabihf/include

                ${TOOLCHAIN_DIR}/arm-linux-gnueabihf/lib)

    # search for programs in the build host directories (notnecessary)

        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)

    ENDIF(CROSS_COMPILE)

    相关文章

      网友评论

          本文标题:clion中C项目交叉编译说明

          本文链接:https://www.haomeiwen.com/subject/dedehqtx.html