clion中C项目交叉编译说明

clion中C项目交叉编译说明,第1张

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 )

交易编译就是将文件编译成目标机可执行的文件。

比如说:你在PC机上写一个helloword,怎么让它到开发板上运行,开发板上的指令跟PC机不到,就需要用到交叉编译工具,编译成开发板上能识别的指令。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11952274.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存